当前位置:   article > 正文

java基础-Test03:图书管理系统 超详细注释

java基础-Test03:图书管理系统 超详细注释

本项目是一个简单的图书管理系统,使用Java编程语言实现。它具有以下主要功能:

  1. 添加图书: 用户可以输入图书的标题、作者和价格,然后将图书添加到系统中。
  2. 显示图书列表: 用户可以查看系统中所有图书的列表,包括标题、作者、价格和可借状态。
  3. 借阅图书: 用户可以输入要借阅的图书标题,如果图书可借,系统会将其标记为已借出。
  4. 归还图书: 用户可以输入要归还的图书标题,如果该图书已借出,系统会将其标记为可借。
  5. 退出系统: 用户可以选择退出系统,结束图书管理程序的运行。
    1. import java.util.ArrayList;
    2. import java.util.List;
    3. import java.util.Scanner;
    4. // 图书类
    5. class Book {
    6. private String title; // 图书标题
    7. private String author; // 图书作者
    8. private double price; // 图书价格
    9. private boolean available; // 图书是否可借状态
    10. // 构造方法
    11. public Book(String title, String author, double price) {
    12. this.title = title;
    13. this.author = author;
    14. this.price = price;
    15. this.available = true; // 新书默认可借
    16. }
    17. // 获取图书标题
    18. public String getTitle() {
    19. return title;
    20. }
    21. // 获取图书作者
    22. public String getAuthor() {
    23. return author;
    24. }
    25. // 获取图书价格
    26. public double getPrice() {
    27. return price;
    28. }
    29. // 获取图书是否可借状态
    30. public boolean isAvailable() {
    31. return available;
    32. }
    33. // 设置图书是否可借状态
    34. public void setAvailable(boolean available) {
    35. this.available = available;
    36. }
    37. }
    38. // 图书管理系统类
    39. public class LibrarySystem {
    40. private List<Book> books; // 存储图书的列表
    41. // 构造方法
    42. public LibrarySystem() {
    43. this.books = new ArrayList<>();
    44. }
    45. // 添加图书
    46. public void addBook(String title, String author, double price) {
    47. Book book = new Book(title, author, price);
    48. books.add(book);
    49. System.out.println("图书添加成功:" + title);
    50. }
    51. // 显示图书列表
    52. public void displayBooks() {
    53. System.out.println("图书列表:");
    54. for (Book book : books) {
    55. System.out.println(book.getTitle() + " - " + book.getAuthor() + " - 价格:" +
    56. book.getPrice() + " - " + (book.isAvailable() ? "可借" : "已借出"));
    57. }
    58. }
    59. // 借阅图书
    60. public void borrowBook(String title) {
    61. for (Book book : books) {
    62. if (book.getTitle().equals(title) && book.isAvailable()) {
    63. book.setAvailable(false);
    64. System.out.println("借阅成功:" + title);
    65. return;
    66. }
    67. }
    68. System.out.println("未找到或该书已借出:" + title);
    69. }
    70. // 归还图书
    71. public void returnBook(String title) {
    72. for (Book book : books) {
    73. if (book.getTitle().equals(title) && !book.isAvailable()) {
    74. book.setAvailable(true);
    75. System.out.println("归还成功:" + title);
    76. return;
    77. }
    78. }
    79. System.out.println("未找到或该书未借出:" + title);
    80. }
    81. public static void main(String[] args) {
    82. LibrarySystem library = new LibrarySystem(); // 创建图书管理系统对象
    83. Scanner scanner = new Scanner(System.in); // 创建输入扫描器对象
    84. boolean running = true; // 控制系统运行状态的变量
    85. // 主循环,运行图书管理系统
    86. while (running) {
    87. System.out.println("\n图书管理系统");
    88. System.out.println("1. 添加图书");
    89. System.out.println("2. 显示图书列表");
    90. System.out.println("3. 借阅图书");
    91. System.out.println("4. 归还图书");
    92. System.out.println("5. 退出");
    93. System.out.print("请选择操作:");
    94. int choice = scanner.nextInt(); // 获取用户输入的操作选项
    95. scanner.nextLine(); // 消耗换行符
    96. // 根据用户选择执行相应的操作
    97. switch (choice) {
    98. case 1:
    99. System.out.print("请输入书名:");
    100. String title = scanner.nextLine();
    101. System.out.print("请输入作者:");
    102. String author = scanner.nextLine();
    103. System.out.print("请输入价格:");
    104. double price = scanner.nextDouble();
    105. library.addBook(title, author, price); // 添加图书
    106. break;
    107. case 2:
    108. library.displayBooks(); // 显示图书列表
    109. break;
    110. case 3:
    111. System.out.print("请输入要借阅的书名:");
    112. String borrowTitle = scanner.nextLine();
    113. library.borrowBook(borrowTitle); // 借阅图书
    114. break;
    115. case 4:
    116. System.out.print("请输入要归还的书名:");
    117. String returnTitle = scanner.nextLine();
    118. library.returnBook(returnTitle); // 归还图书
    119. break;
    120. case 5:
    121. running = false; // 退出系统
    122. System.out.println("谢谢使用!");
    123. break;
    124. default:
    125. System.out.println("无效的选项,请重新输入。");
    126. }
    127. }
    128. scanner.close(); // 关闭输入扫描器
    129. }
    130. }

    该项目的目的是模拟一个简单的图书管理系统,让用户可以对图书进行基本的管理操作,包括添加、查看、借阅和归还。通过这个项目,用户可以学习和练习使用Java编程语言构建简单的控制台应用程序,并了解基本的面向对象编程概念,例如类、对象、方法和属性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/298983
推荐阅读
相关标签
  

闽ICP备14008679号