当前位置:   article > 正文

利用面向对象的思想设计一个图书管理系统。_编写一个程序sywj7_3.py,使用面向对象的知识设计一个“书籍出租管理系统”,该系统

编写一个程序sywj7_3.py,使用面向对象的知识设计一个“书籍出租管理系统”,该系统

利用面向对象的思想设计一个图书管理系统。图书的属性有:编号,书名,作者,价格。要求提供如下功能:

1、提供操作菜单,可以选择要进行的操作。

2、可以添加图书,添加图书时,编号需要唯一,添加成功,返回到菜单。

3、可以查询图书,显示所有图书信息,然后返回到菜单。

4、可以根据书名,查询单本图书信息,显示信息后,返回到菜单。

5、可以删除图书,通过编号删除,删除成功后,返回到菜单。

6、可以修改图书的信息,但编号不可以修改,修改成功后,返回到菜单。

7、可以退出系统,结束程序运行。

代码如下:

  1. public class Book {
  2. private String bookId;
  3. private String name;
  4. private String author;
  5. private double price;
  6. public Book() {
  7. }
  8. public Book(String bookId, String name, String author, double price) {
  9. this.bookId = bookId;
  10. this.name = name;
  11. this.author = author;
  12. this.price = price;
  13. }
  14. public String getBookId() {
  15. return bookId;
  16. }
  17. public void setBookId(String bookId) {
  18. this.bookId = bookId;
  19. }
  20. public String getName() {
  21. return name;
  22. }
  23. public void setName(String name) {
  24. this.name = name;
  25. }
  26. public String getAuthor() {
  27. return author;
  28. }
  29. public void setAuthor(String author) {
  30. this.author = author;
  31. }
  32. public double getPrice() {
  33. return price;
  34. }
  35. public void setPrice(double price) {
  36. this.price = price;
  37. }
  38. }
  39. import java.util.ArrayList;
  40. import java.util.Scanner;
  41. public class Test {
  42. public static void main(String[] args) {
  43. // 创建集合用于存储图书信息
  44. ArrayList<Book> list = new ArrayList<>();
  45. // 键盘录入
  46. Scanner sc = new Scanner(System.in);
  47. while (true) {
  48. System.out.println("请选择你要进行的操作");
  49. System.out.println("1:添加图书");
  50. System.out.println("2:查看图书");
  51. System.out.println("3:查询图书");
  52. System.out.println("4:修改图书");
  53. System.out.println("5:删除图书");
  54. System.out.println("6:退出系统");
  55. String type = sc.next();
  56. switch (type) {
  57. case "1":
  58. // 添加
  59. addBook(list);
  60. break;
  61. case "2":
  62. // 查看所有图书
  63. findAllBooks(list);
  64. break;
  65. case "3":
  66. // 查询某本图书
  67. findBookByName(list);
  68. break;
  69. case "4":
  70. // 修改图书
  71. updateBook(list);
  72. break;
  73. case "5":
  74. // 删除图书
  75. deleteBook(list);
  76. break;
  77. case "6":
  78. System.out.println("感谢使用,再见");
  79. System.exit(0); // 退出系统
  80. default:
  81. System.out.println("选择有误,请重新输入");
  82. break;
  83. }
  84. }
  85. }
  86. // 删除图书
  87. private static void deleteBook(ArrayList<Book> list) {
  88. Scanner sc = new Scanner(System.in);
  89. System.out.println("请输入您要删除的图书编号:");
  90. String id = sc.next();
  91. for (int i = 0; i < list.size(); i++) {
  92. Book b = list.get(i);
  93. if (id.equals(b.getBookId())) { // 编号存在
  94. // 删除图书并结束方法
  95. list.remove(i);
  96. System.out.println("~~~删除成功~~~");
  97. return;
  98. }
  99. }
  100. System.out.println("没有该编号的图书信息");
  101. }
  102. // 修改图书
  103. private static void updateBook(ArrayList<Book> list) {
  104. Scanner sc = new Scanner(System.in);
  105. System.out.println("请输入您要修改的图书编号:");
  106. String id = sc.next();
  107. for (int i = 0; i < list.size(); i++) {
  108. Book b = list.get(i);
  109. if (id.equals(b.getBookId())) { // 编号存在
  110. System.out.println("请输入修改后图书的名称:");
  111. String name = sc.next();
  112. System.out.println("请输入修改后图书的作者:");
  113. String author = sc.next();
  114. System.out.println("请输入修改后图书的价格:");
  115. double price = sc.nextDouble();
  116. Book newBook = new Book(id, name, author, price);
  117. // 更新数据
  118. list.set(i, newBook);
  119. System.out.println("~~~修改成功~~~");
  120. return;
  121. }
  122. }
  123. // 如果编号不存在
  124. System.out.println("没有该编号的图书信息");
  125. }
  126. // 根据图书的名称查询图书信息
  127. private static void findBookByName(ArrayList<Book> list) {
  128. Scanner sc = new Scanner(System.in);
  129. System.out.println("请输入您要查询的图书名称:");
  130. String name = sc.next();
  131. for (int i = 0; i < list.size(); i++) {
  132. Book b = list.get(i);
  133. if (name.equals(b.getName())) {
  134. System.out.println("编号\t" + "书名\t" + "作者\t" + "价格");
  135. System.out.println(b.getBookId() + "\t" + b.getName() + "\t" + b.getAuthor() + "\t" + b.getPrice());
  136. return;
  137. }
  138. }
  139. System.out.println("没有该名称图书信息");
  140. }
  141. // 查看所有图书信息
  142. private static void findAllBooks(ArrayList<Book> list) {
  143. if (list == null || list.size() == 0) {
  144. System.out.println("尚无图书信息");
  145. return;
  146. }
  147. System.out.println("编号\t" + "书名\t" + "作者\t" + "价格");
  148. for (int i = 0; i < list.size(); i++) {
  149. Book b = list.get(i);
  150. System.out.println(b.getBookId() + "\t" + b.getName() + "\t" + b.getAuthor() + "\t" + b.getPrice());
  151. }
  152. }
  153. // 查询编号是否存在
  154. public static boolean isExist(ArrayList<Book> list, String bookId) {
  155. // 遍历,如果发现相同id,返回true,
  156. for (int i = 0; i < list.size(); i++) {
  157. if (bookId.equals(list.get(i).getBookId())) {
  158. return true;
  159. }
  160. }
  161. // 如果没有,返回false
  162. return false;
  163. }
  164. // 添加图书
  165. public static void addBook(ArrayList<Book> list) {
  166. // 键盘录入
  167. Scanner sc = new Scanner(System.in);
  168. System.out.println("请输入图书信息:");
  169. System.out.println("编号:");
  170. String bookId;
  171. while (true) {
  172. bookId = sc.next();
  173. // 查询编号是否存在
  174. if (isExist(list, bookId)) {
  175. System.out.println("该编号已经存在,请重新输入");
  176. } else {
  177. break;
  178. }
  179. }
  180. System.out.println("名称:");
  181. String name = sc.next();
  182. System.out.println("作者:");
  183. String author = sc.next();
  184. System.out.println("价格:");
  185. double price = sc.nextDouble();
  186. // 将信息封装到图书对象
  187. Book b = new Book(bookId, name, author, price);
  188. // 添加到集合
  189. list.add(b);
  190. System.out.println("~~~添加成功~~~");
  191. }
  192. }

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

闽ICP备14008679号