做网站的具体需求营销型网站建设多少钱
这里写自定义目录标题
- 下面是一个基于控制台的简单图书管理系统实现,使用Java面向对象编程,包含基本的图书增删改查功能。
- 功能说明
- 如何运行
- 系统功能
- 扩展建议
下面是一个基于控制台的简单图书管理系统实现,使用Java面向对象编程,包含基本的图书增删改查功能。
import java.util.ArrayList;
import java.util.Scanner;class Book {private String id;private String title;private String author;private double price;private boolean isBorrowed;public Book(String id, String title, String author, double price) {this.id = id;this.title = title;this.author = author;this.price = price;this.isBorrowed = false;}// Getters and Setterspublic String getId() {return id;}public String getTitle() {return title;}public String getAuthor() {return author;}public double getPrice() {return price;}public boolean isBorrowed() {return isBorrowed;}public void setBorrowed(boolean borrowed) {isBorrowed = borrowed;}@Overridepublic String toString() {return "ID: " + id + ", 书名: " + title + ", 作者: " + author + ", 价格: " + price + ", 状态: " + (isBorrowed ? "已借出" : "可借阅");}
}class Library {private ArrayList<Book> books = new ArrayList<>();// 添加图书public void addBook(Book book) {books.add(book);System.out.println("添加成功: " + book.getTitle());}// 删除图书public void removeBook(String id) {for (Book book : books) {if (book.getId().equals(id)) {books.remove(book);System.out.println("删除成功: " + book.getTitle());return;}}System.out.println("未找到ID为 " + id + " 的图书");}// 查找图书public void findBook(String keyword) {boolean found = false;for (Book book : books) {if (book.getId().contains(keyword) || book.getTitle().contains(keyword) || book.getAuthor().contains(keyword)) {System.out.println(book);found = true;}}if (!found) {System.out.println("未找到相关图书");}}// 借阅图书public void borrowBook(String id) {for (Book book : books) {if (book.getId().equals(id)) {if (book.isBorrowed()) {System.out.println("该书已被借出");} else {book.setBorrowed(true);System.out.println("借阅成功: " + book.getTitle());}return;}}System.out.println("未找到ID为 " + id + " 的图书");}// 归还图书public void returnBook(String id) {for (Book book : books) {if (book.getId().equals(id)) {if (book.isBorrowed()) {book.setBorrowed(false);System.out.println("归还成功: " + book.getTitle());} else {System.out.println("该书未被借出");}return;}}System.out.println("未找到ID为 " + id + " 的图书");}// 显示所有图书public void displayAllBooks() {if (books.isEmpty()) {System.out.println("图书馆暂无图书");return;}System.out.println("====== 图书列表 ======");for (Book book : books) {System.out.println(book);}}
}public class LibraryManagementSystem {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);Library library = new Library();// 初始化一些示例图书library.addBook(new Book("B001", "Java编程思想", "Bruce Eckel", 108.0));library.addBook(new Book("B002", "Effective Java", "Joshua Bloch", 78.0));library.addBook(new Book("B003", "深入理解Java虚拟机", "周志明", 99.0));while (true) {System.out.println("\n====== 图书管理系统 ======");System.out.println("1. 添加图书");System.out.println("2. 删除图书");System.out.println("3. 查找图书");System.out.println("4. 借阅图书");System.out.println("5. 归还图书");System.out.println("6. 显示所有图书");System.out.println("0. 退出系统");System.out.print("请选择操作: ");int choice = scanner.nextInt();scanner.nextLine(); // 消耗换行符switch (choice) {case 1:System.out.print("输入图书ID: ");String id = scanner.nextLine();System.out.print("输入书名: ");String title = scanner.nextLine();System.out.print("输入作者: ");String author = scanner.nextLine();System.out.print("输入价格: ");double price = scanner.nextDouble();library.addBook(new Book(id, title, author, price));break;case 2:System.out.print("输入要删除的图书ID: ");String delId = scanner.nextLine();library.removeBook(delId);break;case 3:System.out.print("输入查找关键词(ID/书名/作者): ");String keyword = scanner.nextLine();library.findBook(keyword);break;case 4:System.out.print("输入要借阅的图书ID: ");String borrowId = scanner.nextLine();library.borrowBook(borrowId);break;case 5:System.out.print("输入要归还的图书ID: ");String returnId = scanner.nextLine();library.returnBook(returnId);break;case 6:library.displayAllBooks();break;case 0:System.out.println("感谢使用图书管理系统,再见!");scanner.close();System.exit(0);default:System.out.println("无效选择,请重新输入");}}}
}
功能说明
1.图书类(Book):
包含图书ID、书名、作者、价格和借阅状态
2.提供基本的getter和setter方法
3.图书馆类(Library):
使用ArrayList管理图书集合
实现添加、删除、查找、借阅、归还和显示所有图书功能
4.主程序(LibraryManagementSystem):
5.提供控制台菜单界面
如何运行
1.将代码保存为LibraryManagementSystem.java
2.编译并运行:
javac LibraryManagementSystem.java
java LibraryManagementSystem
系统功能
1,添加图书
2.删除图书
3.查找图书(支持ID、书名、作者搜索)
4.借阅图书
5.归还图书
6.显示所有图书信息
7.退出系统
扩展建议
如果需要进一步完善该系统,可以考虑:
1.使用文件或数据库持久化存储图书数据
2.添加用户登录和管理员权限功能
3.实现图书分类和更复杂的搜索功能
4.添加借阅期限和逾期处理功能
5.使用Swing或JavaFX实现图形界面