首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

《图书管理系统》JavaSE:循环、判断

后端 27.31KB 25 需要积分: 1
立即下载

资源介绍:

内容概要:新增图书、查看图书列表、删除、借阅、归还、图书排行榜、退出程序; 适用人群:Java初学者,想要用项目巩固自身知识掌握的学者
package book.management.system; import java.lang.invoke.SwitchPoint; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.Scanner; import java.util.SimpleTimeZone; public class Project1 { //所需要提前加载的成员变量 static Scanner scanner = new Scanner(System.in); static String[] bookNames = new String[50]; static String[] bookStatus = new String[50]; static String[] bookRentDate = new String[50]; static int[] bookRentCounts = new int[50]; public static void main(String[] args) { inputBook(); menu(); } //初始化数组 public static void inputBook(){ bookNames[0] = "罗马假日"; bookStatus[0] = "已借出"; bookRentDate[0] = "2010-07-01"; bookRentCounts[0] = 30; bookNames[1] = "风声鹤唳"; bookStatus[1] = "可借"; bookRentDate[1] = "\t\t"; bookRentCounts[1] = 19; bookNames[2] = "浪漫满屋"; bookStatus[2] = "可借"; bookRentDate[2] = "\t\t"; bookRentCounts[2] = 24; } //主菜单 public static void menu() { int num = 0; System.out.println("-----欢迎使用图书管理系统------"); 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("7.退出系统"); System.out.print("请选择要使用的功能:"); num = scanner.nextInt(); switch (num) { case 1: { System.out.println("-->新增图书"); inputNewBook(); returnMenu(); break; } case 2: { System.out.println("-->查看图书"); selectBook(); returnMenu(); break; } case 3: { System.out.println("-->删除图书"); deleteBook(); returnMenu(); break; } case 4: { System.out.println("-->借出图书"); rentBook(); returnMenu(); break; } case 5: { System.out.println("-->归还图书"); returnBook(); returnMenu(); break; } case 6: { System.out.println("-->图书排行榜"); bookRankList(); returnMenu(); break; } case 7: { System.out.println("感谢使用本系统!欢迎下次使用!"); System.exit(5201314);//退出系统 } default:{ System.out.println("输入错误,请输入阿拉伯数字1234567"); returnMenu(); } } } //用于实现循环菜单功能 public static void returnMenu(){ System.out.println("******************************"); System.out.println("输入0返回:"); int i = scanner.nextInt(); if (i == 0) menu(); } //1、新建图书方法 private static void inputNewBook() { int i = 0; System.out.println("请输入书名:"); String newBookName = scanner.next(); //在for的循环条件里判断第一个空值 for (i = 0; i < bookNames.length && bookNames[i] != null; i++){ //如果需要判断是否为null不能使用equals if (bookNames[i].equals(newBookName)){ System.out.println("已有此名称的书目,序号为:" + (i + 1)); return; } } //不需要判断是否为空,因为前面的循环已经实现了这个功能,因为第一个null他就停了 /* for (i = 0; i < bookNames.length; i++){ //必须用==,不能用.eqlues()方法 if (bookNames[i] == null) break; } */ bookNames[i] = newBookName; bookStatus[i] = "可借"; bookRentDate[i] = "\t\t"; bookRentCounts[i] = 0; System.out.println("新增" + newBookName + "成功!"); } //2、查看图书方法 public static void selectBook(){ System.out.println("序号\t状态\t名称\t借出日期\t\t借出次数"); for (int i = 0; i < bookNames.length && bookNames[i] != null; i++){ System.out.println((i + 1) + "\t\t" + bookStatus[i] + "\t" + bookNames[i] + "\t" + bookRentDate[i] + "\t" + bookRentCounts[i]); } } //3、删除图书方法 public static void deleteBook(){ int i = 0; System.out.println("请输入要删除的书的名字:"); String deleteBookName = scanner.next(); for (i = 0; i < bookNames.length && bookNames[i] != null; i++){ //如果需要判断是否为null不能使用equals if (bookNames[i].equals(deleteBookName)){ System.out.println("存在此名称的书目,准备删除操作,序号为:" + (i + 1)); if(bookStatus[i].equals("可借")){ System.out.print(deleteBookName + "未被借出,进行删除操作......"); for (int j = i; j < bookNames.length && bookNames[j] != null; j++){ //删除到发现下一本书是null,就把这本书的下标赋值为null,因为他已经赋给前面的值,所以不会消失 if (bookNames[j + 1] != null){ bookNames[j] = bookNames[j + 1]; bookStatus[j] = bookStatus[j + 1]; bookRentDate[j] = bookRentDate[j + 1]; bookRentCounts[j] = bookRentCounts[j + 1]; continue; } else { bookNames[j] = null; bookStatus[j] = null; bookRentDate[j] = null; bookRentCounts[j] = 0; break; } } }else { System.out.println(deleteBookName + "已被借出,无法进行删除操作,操作失败"); return; } System.out.println("删除成功!"); return; } } System.out.println("未找到相应书目,请重新键入或查看图书列表"); return; } //4、借出图书方法 public static void rentBook(){ int i = 0; System.out.println("请输入要借的书的名字:"); String rentBookName = scanner.next(); for (i = 0; i < bookNames.length && bookNames[i] != null; i++){ //如果需要判断是否为null不能使用equals if (bookNames[i].equals(rentBookName)){ System.out.println("存在此名称的书目,准备借出操作,序号为:" + (i + 1)); if(bookStatus[i].equals("可借")){ System.out.print(rentBookName + "未被借出,进行借书操作......"); System.out.println("请输入借书时间(日期格式:年年年年-月月-日日):"); String rentTime = scanner.next(); bookStatus[i] = "已借出!"; bookRentDate[i] = rentTime; bookRentCounts[i]

资源文件列表:

240722_bookmanagement.zip 大约有31个文件
  1. 240722_bookmanagement/
  2. 240722_bookmanagement/.idea/
  3. 240722_bookmanagement/.idea/misc.xml 529B
  4. 240722_bookmanagement/.idea/modules.xml 289B
  5. 240722_bookmanagement/.idea/uiDesigner.xml 8.71KB
  6. 240722_bookmanagement/.idea/workspace.xml 8.62KB
  7. 240722_bookmanagement/240722_bookmanagement.iml 433B
  8. 240722_bookmanagement/out/
  9. 240722_bookmanagement/out/production/
  10. 240722_bookmanagement/out/production/240722_bookmanagement/
  11. 240722_bookmanagement/out/production/240722_bookmanagement/book/
  12. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/
  13. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/
  14. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/bookSystemSpeedTest.class 6.13KB
  15. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/car.class 1.21KB
  16. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/objectOriented.class 431B
  17. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/Person.class 1.22KB
  18. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/Project1.class 7.31KB
  19. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/TestCar.class 1.11KB
  20. 240722_bookmanagement/out/production/240722_bookmanagement/book/management/system/TestHuman.class 1.12KB
  21. 240722_bookmanagement/src/
  22. 240722_bookmanagement/src/book/
  23. 240722_bookmanagement/src/book/management/
  24. 240722_bookmanagement/src/book/management/system/
  25. 240722_bookmanagement/src/book/management/system/bookSystemSpeedTest.java 8.84KB
  26. 240722_bookmanagement/src/book/management/system/car.java 609B
  27. 240722_bookmanagement/src/book/management/system/objectOriented.java 2.08KB
  28. 240722_bookmanagement/src/book/management/system/Person.java 609B
  29. 240722_bookmanagement/src/book/management/system/Project1.java 13KB
  30. 240722_bookmanagement/src/book/management/system/TestCar.java 617B
  31. 240722_bookmanagement/src/book/management/system/TestHuman.java 706B
0评论
提交 加载更多评论
其他资源 西门子s7 200smart与3台欧姆龙E5cc温控器通讯控 功能:可以直接应用现场 实现西门子s7 200smart对3台欧姆
西门子s7 200smart与3台欧姆龙E5cc温控器通讯控 功能:可以直接应用现场 实现西门子s7 200smart对3台欧姆龙E5cc温控器进行485通讯控制,在触摸屏上设定温度,读取温度,设定探头型号,报警类型,报警值,报警上下限等功能。 程序有通讯故障后再恢复功能,也可以后续根据需要在此基础上扩充台数 器件:西门子s7 200smart ST20 PLC.昆仑通态MCGS ,3台欧姆龙E5cc温控器。 说明:的是程序,可以直接应用现场,带详细注释程序,触摸屏程序,PLC设置和温控器设置,接线说明书。
西门子s7 200smart与3台欧姆龙E5cc温控器通讯控 功能:可以直接应用现场 实现西门子s7 200smart对3台欧姆
report ETL .ffff
report ETL .ffff
23552679郭磊.zip
23552679郭磊.zip
python封装的ALSA库源码及示例
python封装的ALSA库源码及示例。
分布式电源优化配置 二阶锥 编程方法:采用matlab+yalmip编程,cplex或gurobi作为求解器 主要内容:考虑配
分布式电源优化配置 二阶锥 编程方法:采用matlab+yalmip编程,cplex或gurobi作为求解器。 主要内容:考虑配电网二阶锥模型,运行主体包括光伏、微燃机以及负荷,创新性考虑敏感负荷及加权电压支撑能力指标,约束条件考虑潮流约束、电压电流约束、分布式电源容量约束、微燃机出力约束和光伏功率因数约束等,采用年化社会总成本最低为目标函数,涵盖了与分布式电源相关的各方面成本和费用,具体包括年化的分布式电源投资建设成本、每年的分布式电源运行维护费用、每年的分布式电源燃料费用、每年的碳排放费用、每年的系统网损费用,运行可靠 这段代码是一个电力系统的负荷流分析程序,主要用于计算电力系统中各节点的电压和功率。下面我会逐行解释代码的功能和工作流程。 首先,代码开始时使用`clc`和`clear all`清除命令窗口和工作空间中的所有变量。 接下来,定义了四个负荷数据数组`pload1`、`pload2`、`pload3`和`pload4`,分别代表四个季节的负荷数据。这些数据用于计算负荷矩阵。 然后,定义了一些变量,如节点数、线路数、时间段数、光伏断面数量等。 接下来,根据给定的负荷
分布式电源优化配置 二阶锥
编程方法:采用matlab+yalmip编程,cplex或gurobi作为求解器 
主要内容:考虑配
Matlab 车辆配送路径规划问题 四大算法解决旅行商问题(TSP) CVRP CDVRP VRPTW tsp:旅行商问题,寻
Matlab 车辆配送路径规划问题 四大算法解决旅行商问题(TSP) CVRP CDVRP VRPTW tsp:旅行商问题,寻找最短闭合路径 cvrp:带容量约束的车辆路径规划 dvrp:带距离约束的车辆路径规划 cdvrp:带距离+容量约束的车辆路径规划 vrptw:带距离+容量+时间窗约束的车辆路径规划 源码+详细注释 坐标需求量载重量等数据可以更改
Matlab 车辆配送路径规划问题
四大算法解决旅行商问题(TSP) CVRP CDVRP VRPTW
tsp:旅行商问题,寻
交直流混合微网程序matlab 采用拉丁超立方抽样和多场景缩减,考虑风光等随机性建模,利用粒子群算法,计算得到三个微网的优化程序
交直流混合微网程序matlab 采用拉丁超立方抽样和多场景缩减,考虑风光等随机性建模,利用粒子群算法,计算得到三个微网的优化程序,程序运行稳定,有详细资料。 这段代码是一个多目标优化算法的实现,主要用于解决多目标优化问题。下面我将对代码进行详细解释和分析。 首先,代码开始部分进行了一些初始化操作,包括清除变量、设置随机种子、设置格式等。 接下来,代码加载了一个.mat文件,该文件包含了一些与ZDT问题相关的数据。ZDT问题是一个经典的多目标优化问题,用于评估多目标优化算法的性能。 然后,代码设置了一些算法参数,包括种群大小、迭代次数、变异率、交叉率等。 接着,代码使用遗传算法进行优化。首先,使用非支配排序算法对种群进行排序,得到非支配解集。然后,进行迭代优化,每次迭代都进行选择、交叉和变异操作。选择操作使用竞标赛选择算子,交叉和变异操作使用标准的遗传算子。最后,记录每代的结果。 代码继续进行了一些后处理操作,包括绘制迭代图、找出不重复的非支配解、输出结果等。 接下来,代码开始部分的内容是另一个算法的实现,即天牛须改进的nsgaII算法。该算法在遗传算子的基础上增加了天牛须算
交直流混合微网程序matlab
采用拉丁超立方抽样和多场景缩减,考虑风光等随机性建模,利用粒子群算法,计算得到三个微网的优化程序
智能电网中多时段多公司需求响应管理的博弈理论框架 利用博弈论建立了一个考虑公司和消费者之间相互作用的多时期多公司需求响应框架
智能电网中多时段多公司需求响应管理的博弈理论框架 利用博弈论建立了一个考虑公司和消费者之间相互作用的多时期多公司需求响应框架。 在Stackelberg博弈中建立了相互作用的模型,公司设定价格,而消费者选择他们的需求作为回应。 证明了潜在博弈具有一个独特的均衡,公司的收益最大化而消费者的效用最大化受当地约束。 给出了所有参与方的最优策略的封闭表达式。 构造了一个具有唯一纯策略纳什均衡的权力分配博弈,并给出了该博弈的封闭形式表达式。 进一步提供了一种快速分布的算法来计算所有的最优策略只使用局部信息。 也研究在周期的数量(时间范围的细分和消费者的数量变化的影响。 当参与需求响应的消费者数量超过某一阈值时,能够找到一个合适的公司与消费者比例。 为消费者所需的最低预算提供了一个条件,并使用现实数据进行案例研究,其中显示了高达30%的潜在节约和具有低波动性的均衡价格
智能电网中多时段多公司需求响应管理的博弈理论框架
利用博弈论建立了一个考虑公司和消费者之间相互作用的多时期多公司需求响应框架