java基础-Test03:图书管理系统 超详细注释
本项目是一个简单的图书管理系统,使用Java编程语言实现。它具有以下主要功能:
- 添加图书: 用户可以输入图书的标题、作者和价格,然后将图书添加到系统中。
- 显示图书列表: 用户可以查看系统中所有图书的列表,包括标题、作者、价格和可借状态。
- 借阅图书: 用户可以输入要借阅的图书标题,如果图书可借,系统会将其标记为已借出。
- 归还图书: 用户可以输入要归还的图书标题,如果该图书已借出,系统会将其标记为可借。
- 退出系统: 用户可以选择退出系统,结束图书管理程序的运行。
-
import java.util.ArrayList; import java.util.List; import java.util.Scanner; // 图书类 class Book { private String title; // 图书标题 private String author; // 图书作者 private double price; // 图书价格 private boolean available; // 图书是否可借状态 // 构造方法 public Book(String title, String author, double price) { this.title = title; this.author = author; this.price = price; this.available = true; // 新书默认可借 } // 获取图书标题 public String getTitle() { return title; } // 获取图书作者 public String getAuthor() { return author; } // 获取图书价格 public double getPrice() { return price; } // 获取图书是否可借状态 public boolean isAvailable() { return available; } // 设置图书是否可借状态 public void setAvailable(boolean available) { this.available = available; } } // 图书管理系统类 public class LibrarySystem { private List<Book> books; // 存储图书的列表 // 构造方法 public LibrarySystem() { this.books = new ArrayList<>(); } // 添加图书 public void addBook(String title, String author, double price) { Book book = new Book(title, author, price); books.add(book); System.out.println("图书添加成功:" + title); } // 显示图书列表 public void displayBooks() { System.out.println("图书列表:"); for (Book book : books) { System.out.println(book.getTitle() + " - " + book.getAuthor() + " - 价格:" + book.getPrice() + " - " + (book.isAvailable() ? "可借" : "已借出")); } } // 借阅图书 public void borrowBook(String title) { for (Book book : books) { if (book.getTitle().equals(title) && book.isAvailable()) { book.setAvailable(false); System.out.println("借阅成功:" + title); return; } } System.out.println("未找到或该书已借出:" + title); } // 归还图书 public void returnBook(String title) { for (Book book : books) { if (book.getTitle().equals(title) && !book.isAvailable()) { book.setAvailable(true); System.out.println("归还成功:" + title); return; } } System.out.println("未找到或该书未借出:" + title); } public static void main(String[] args) { LibrarySystem library = new LibrarySystem(); // 创建图书管理系统对象 Scanner scanner = new Scanner(System.in); // 创建输入扫描器对象 boolean running = true; // 控制系统运行状态的变量 // 主循环,运行图书管理系统 while (running) { 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.print("请选择操作:"); int choice = scanner.nextInt(); // 获取用户输入的操作选项 scanner.nextLine(); // 消耗换行符 // 根据用户选择执行相应的操作 switch (choice) { case 1: System.out.print("请输入书名:"); String title = scanner.nextLine(); System.out.print("请输入作者:"); String author = scanner.nextLine(); System.out.print("请输入价格:"); double price = scanner.nextDouble(); library.addBook(title, author, price); // 添加图书 break; case 2: library.displayBooks(); // 显示图书列表 break; case 3: System.out.print("请输入要借阅的书名:"); String borrowTitle = scanner.nextLine(); library.borrowBook(borrowTitle); // 借阅图书 break; case 4: System.out.print("请输入要归还的书名:"); String returnTitle = scanner.nextLine(); library.returnBook(returnTitle); // 归还图书 break; case 5: running = false; // 退出系统 System.out.println("谢谢使用!"); break; default: System.out.println("无效的选项,请重新输入。"); } } scanner.close(); // 关闭输入扫描器 } }
该项目的目的是模拟一个简单的图书管理系统,让用户可以对图书进行基本的管理操作,包括添加、查看、借阅和归还。通过这个项目,用户可以学习和练习使用Java编程语言构建简单的控制台应用程序,并了解基本的面向对象编程概念,例如类、对象、方法和属性。