较为完善的图书管理系统

较为完善的图书管理系统

四个类

第一个类boos类

package com.day01;public class Boss {private     String name="喜羊羊";private     String password="123456";public Boss(String name, String password) {this.name = name;this.password = password;}public Boss(){}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

第二个类Users类

package com.day01;public class Users {private String name;private String password;private Books books;public static int setlogin=1;public Users(String name, String password) {this.name = name;this.password = password;}public Users(){}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Books getBooks() {return books;}public void setBooks(Books books) {this.books = books;}}

第三个类books类

package com.day01;public class Books {private String name;private String author;private String id;public Books(String name, String author, String id) {this.name = name;this.author = author;this.id = id;}public Books(){}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public String getId() {return id;}public void setId(String id) {this.id = id;}
}

最后一个测试类

package com.day01;import java.util.ArrayList;
import java.util.Scanner;public class Booksystem {static ArrayList<Books> libraries = new ArrayList<Books>();//储存图书馆图书的集合static ArrayList<Books> Usersbooks = new ArrayList<Books>();//储存被借出去的书的集合static ArrayList<Users> UsersDatas=new ArrayList<Users>();//储存用户信息的集合public static void main(String[] args) {//开始界面 判断行为方式Circulate: while (true) {System.out.println("——————————欢迎来到懒洋洋的图书管理系统——————————");System.out.println("请选择:1.登录/注册");System.out.println("请选择:2.退出");Scanner scanner = new Scanner(System.in);String choice = scanner.nextLine();switch (choice) {case "1":Login();//进入登录break;case "2":break Circulate;//立即推出default:System.out.println("输入错误,请在输入一次");}}}public static void Login()//登录/注册方式{System.out.println("请选择1.管理员登录");System.out.println("请选择2.用户登录");System.out.println("请选择3.用户注册");Scanner scanner = new Scanner(System.in);String choice = scanner.nextLine();switch (choice) {case "1"-> BossLogin();//管理员登陆case "2"->UsersLogin(UsersDatas);//用户登录case"3"->Enroll();//注册}}public static void BossLogin() {//管理员登陆Boss boss = new Boss();while (true) {System.out.println("请输入管理员的用户名");Scanner scanner = new Scanner(System.in);String Bossname = scanner.nextLine();System.out.println("请输入管理员的密码");String password = scanner.nextLine();if (Bossname.equals(boss.getName()) && password.equals(boss.getPassword())) {System.out.println("欢迎您!亲爱的管理员");BossChoice();break;} else {System.out.println("您的用户名或密码输入错误,请在输入一次");}}}public static void UsersLogin(ArrayList<Users> UsersDatas)//用户登录{Users user = new Users();if(Users.setlogin==0){System.out.println("您已经被禁止登录 即可返回");Login();}while (true) {int flag=1;System.out.println("请输入用户的用户名");Scanner scanner = new Scanner(System.in);String Usersname = scanner.nextLine();System.out.println("请输入用户的密码");String password = scanner.nextLine();for (int i = 0; i < UsersDatas.size(); i++) {if (Usersname.equals(UsersDatas.get(i).getName()) && password.equals(UsersDatas.get(i).getPassword())) {System.out.println("恭喜您!登录成功");flag=0;user=UsersDatas.get(i);UserChoice(user);break;}}if (flag==1) {System.out.println("不好意思账号或密码错误,请在输入一次");}}}public static void Enroll() {//用户注册String answer="";do {System.out.println("欢迎来到用户注册页面");System.out.println("请输入您想要的用户名");Scanner scanner = new Scanner(System.in);String Username = scanner.nextLine();System.out.println("恭喜您!输入成功");System.out.println("请输入你想要的密码");String Password = scanner.nextLine();System.out.println("恭喜您输入成功!");System.out.println("您的账号是" + Username + ", " + "您的密码是" + Password);Users user = new Users();user.setName(Username);user.setPassword(Password);UsersDatas.add(user);System.out.println("您是否还需要注册y/n");answer = scanner.nextLine();}while (answer.equals("y"));Login();}public static void UserChoice(Users user)//用户的操作选项{System.out.println("亲爱的用户,请选择你的操作");System.out.println("1.查看图书馆里所有书");System.out.println("2.我要借书了!");System.out.println("3.我要还书了");System.out.println("4.我要对书进行评价");System.out.println("5.退出");Scanner scanner = new Scanner(System.in);String choice = scanner.nextLine();switch (choice) {case "1"->UserBookSawAll(libraries,user);//用户查看图书馆里所有的书case"2"->BorrowBook(libraries, Usersbooks,user);//用户借书case"3"->Returnbook(libraries, Usersbooks,user);//用户还书case"4"->Appraisebook();//用户评价书case"5"->Login();//用户退出}}public static void UserBookSawAll(ArrayList<Books> libraries, Users user)//用户查看图书馆里的所有书{for (int i = 0; i <libraries.size() ; i++) {System.out.println(libraries.get(i).getId()+" "+libraries.get(i).getName()+" "+libraries.get(i).getAuthor());}System.out.println("查看完毕 返回主页面");UserChoice(user);}public static void BorrowBook(ArrayList<Books> libraries,ArrayList<Books> Usersbooks, Users user )//用户借书{System.out.println("请输入你要所要借书的id");Scanner scanner = new Scanner(System.in);String Bookid = scanner.nextLine();for (int i = 0; i < libraries.size() ; i++) {if (libraries.get(i).getId().equals(Bookid)) {Usersbooks.add(libraries.get(i));user.setBooks(libraries.get(i));libraries.remove(i);}}System.out.println("恭喜你,借书完毕,即将返回主页面");UserChoice(user);}public static void Returnbook(ArrayList<Books> libraries,ArrayList<Books> Usersbooks, Users user )//用户还书{System.out.println("请输入你要所要还书的id");Scanner scanner = new Scanner(System.in);String id = scanner.nextLine();for (int i = 0; i < Usersbooks.size() ; i++) {if (Usersbooks.get(i).getId().equals(id)) {libraries.add(Usersbooks.get(i));user.setBooks(null);Usersbooks.remove(i);}}System.out.println("恭喜你,还书完毕,即将返回主页面");UserChoice(user);}public static void Appraisebook()//用户评价书{Scanner scanner = new Scanner(System.in);System.out.println("请输入要评价书的id");int id = scanner.nextInt();System.out.println("请输入对书的评论");String appraise=scanner.nextLine();System.out.println("我对"+libraries.get(id)+"的评价是"+appraise);}public static void BossChoice()//管理员的操作面板{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.退出登录并返回主界面");Scanner scanner = new Scanner(System.in);String choice = scanner.nextLine();switch (choice) {case "1"->BookInput();//录入书籍case"2"-> BookRemove(libraries);//移除书籍case "3"->BookSeeAll(libraries);//查看所有的书籍case"4"-> BossSawUser(Usersbooks);//查看用户借的所有的书case"5"->BossSeeAllUsersdate(UsersDatas);//查看用户的信息 如果借了书 显示用户名和借了的书case"6"->Stopusers();//禁止用户登录case"7"->Login();//退出}}public static void BookInput()//管理员插入书籍{String choose="";do {Books book = new Books();System.out.println("请输入这本书的id");Scanner scanner = new Scanner(System.in);String Bookid = scanner.nextLine();book.setId(Bookid);System.out.println("请输入这本书的名字");String Bookname = scanner.nextLine();book.setName(Bookname);System.out.println("请输入这本书的作者");String Bookauthor = scanner.nextLine();book.setAuthor(Bookauthor);libraries.add(book);System.out.println("添加成功");System.out.println("您是否还想添加书?");System.out.println("请输入y/n");choose = scanner.nextLine();}while (choose.equals("y"));BossChoice();}public static void BookRemove(ArrayList<Books> libraries) {//管理员移除书籍int flage=1;System.out.println("请输入你要删除书的id");Scanner scanner = new Scanner(System.in);String Bookid = scanner.nextLine();for (int i = 0; i < libraries.size(); i++) {if (libraries.get(i).getId().equals(Bookid)) {libraries.remove(i);System.out.println("恭喜你,删除成功");flage=0;}}if(flage==1){System.out.println("您要删除的书不存在");}BossChoice();}public static void BookSeeAll(ArrayList<Books> libraries){//管理员查看所有的书for (int i = 0; i <libraries.size() ; i++) {System.out.println(libraries.get(i).getId()+" "+libraries.get(i).getName()+" "+libraries.get(i).getAuthor());}BossChoice();}public static void BossSawUser(ArrayList<Books> Usersbooks)//管理员查看所有被借了的书{for (int i = 0; i < Usersbooks.size() ; i++) {System.out.println(Usersbooks.get(i).getId()+" "+Usersbooks.get(i).getName()+" "+Usersbooks.get(i).getAuthor());}BossChoice();}public static void BossSeeAllUsersdate(ArrayList<Users> UsersDatas)//管理员查看用户的信息 如果借了书 显示被借的书{for (int i = 0; i< UsersDatas.size() ; i++) {System.out.println(UsersDatas.get(i).getName());if(UsersDatas.get(i).getBooks()!=null){System.out.println("该用户借了"+UsersDatas.get(i).getBooks().getName());}}BossChoice();}public static void Stopusers()//禁止用户登录{System.out.println("您已经开启禁止用户登陆权限");Users.setlogin=0;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/873308.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

折腾笔记[10]-使用rust进行ORB角点检测

打包ORB算法到bye_orb_rs库,使用rust进行ORB角点检测. Package the ORB algorithm into the bye_orb_rs library, and use Rust for ORB corner detection.摘要 打包ORB算法到bye_orb_rs库,使用rust进行ORB角点检测. Package the ORB algorithm into the bye_orb_rs library, a…

DBSyncer开源数据同步中间件

一、简介 DBSyncer(英[dbsɪŋkɜː(r)],美[dbsɪŋkɜː(r) 简称dbs)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预…

幻想 实在 自我

小 C 和 小 Y 的故事还未停止 …… 或许不会停止弥晨时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下

AT+CSQ 和 AT+QENG查询的 RSSI不一致

1. 查询结果如下:2. CSQ查询的RSSI 接收信号强度指示时是31,对应但是 AT+QENG查询的是-128

记录printf的一个小问题

因为打算使用sprintf来格式化字符串,然后显示,遇到了一个符号类型的问题 printf("%d",now_adc);这一句,如果now_adc是uchar类型,输出字符会显示异常,后来了解到,如果要直接打印uchar只能用%x或者%s 所以如果不想改变量大小可以在前面加括号强转如printf("…

工业人工智能白皮书2025年:边缘AI驱动,助力新质生产力报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p=38940 在当前科技变革的浪潮中,工业领域正经历着深刻转型。人工智能与工业互联网等前沿技术的迅猛发展,为工业的升级演进带来了前所未有的机遇与挑战。 本报告汇总洞察聚焦工业领域的变革趋势,深入剖析其核心驱动力与发展脉络。通过对工业 …

【视频】R语言支持向量分类器SVM原理及房价数据预测应用及回归、LASSO、决策树、随机森林、GBM、神经网络对比可视化

全文链接: https://tecdat.cn/?p=38830 原文出处:拓端数据部落公众号 分析师:Yuqi Liu 在大数据时代,精准的数据分类与预测对各领域的发展至关重要。超平面作为高维空间中的关键概念,可将线性空间一分为二,为数据分类奠定了理论基石。基于此发展而来的最大边缘分类器,…

【信息化】一个IT主管/经理/总监的该做什么?-读图解 CIO 工作指南上半IT管理总结

在这个IT人日益技术焦虑的年代,为了缓解一下学习的焦虑,看各路推荐开始学习一下《图解CIO工作指南》。我的初衷很简单,学习一下IT架构设计的思路,日常IT管理工作怎么优化,以及未来MBA毕业写IT规划论文。 一开始,当我拿到这本看似“老旧”的书籍时,心里确实犯了点嘀咕…

LCD-RGB屏幕学习(二)ESP32驱动RGB屏幕

ESP32是国内比较火的IOT芯片厂商,在个人玩家圈子里备受好评1.器件准备40pin RGB 通用接口屏幕这里的通用接口指的是市面上最常见的接口,并不属于某种标准 我拆开了吃灰已久的树莓派便携HDMI屏幕,在屏库上查看此型号,刚好满足需求,又剩下一笔大洋ESP32N16R8选用带有pasram的…

OM6621F低功耗低成本蓝牙芯片支持BLE5.1和2.4G私有协议集成了电源管理单元(PMU)BMS电池管理领域首选方案

OM6621Fx是一款专为蓝牙低功耗和专有2.4GHz应用设计的功率优化的真系统级芯片(SOC)解决方案。它集成了高性能和低功率的射频收发器,具有蓝牙基带和丰富的外围I0扩展。OM6621Fx还集成了电源管理单元(PMU),以实现高效率的电源管理。它针对2.4GHz蓝牙低功耗系统、专有2.4GHz系统…

Jetpack架构组件学习(6)——使用Glance实现桌面小组件

原文地址: Jetpack架构组件学习(6)——使用Glance实现桌面小组件-Stars-One的杂货小窝公司陆续整了几个Compose写的app,有个小组件的功能,顺便试了下Jetpack库里的Glance框架 感觉与原来的Remoteview差点意思,不过点击事件的使用比Remoteview要方便不少PS: 如果想看Remoteview实…

《操作系统真象还原》第九章 线程(二) 多线程轮转调度

本文是对《操作系统真象还原》第九章(二)学习的笔记,欢迎大家一起交流第九章 线程(二) 多线程轮转调度 本文是对《操作系统真象还原》第九章(二)学习的笔记,欢迎大家一起交流,目前所有代码已托管至 fdx-xdf/MyTinyOS 。 上一节中成功创建了线程并运行,这一节要实现的…