java控制台输出图书馆管理系统
java控制台输出图书馆管理系统(只用java代码不用数据库和GUI,java入门的新手秒懂)
在个项目中,我只用数组保存数据,和只用for循环和if条件语句来完成,连数组工具类都没用,所以导致要用到很多的条件语句,虽然比较局限,但可以让新手快速体验一下做小项目的乐趣,也可以练练for和if这些语句,练练一下它们之间嵌套的逻辑关系等,因为时间有限所以没有去优化了,主要还是让新手们体验下做java项目的面向对象编程思想(OOP),给新手们体验一下做项目的乐趣,嘿嘿!
话不多说了,直接切入正题。
设计思路如下图:
首先用eclipse建立包和类(为了简单明了我的项目结构设计如下):
//在UserData.java里边输入以下代码
packagecom.jiaxun.library.data; publicclassUserData{ privateStringusername="小询";//用户名 privateStringpassword="zengjiaxun";//密码 publicStringgetUser(){ returnusername; } publicStringgetPassword(){ returnpassword; } }
//在BookData.java中输入以下代码
packagecom.jiaxun.library.data; publicclassBookData{ //书库 publicBookData(){ { Stringnoreaders="无"; for(inti=0;i//在Bo.java中输入以下代码
packagecom.jiaxun.library.bo; importjava.util.Scanner; importcom.jiaxun.library.data.BookData; importcom.jiaxun.library.data.UserData; publicclassBo{ publicstaticBookDatabook=newBookData(); UserDatauser=newUserData(); //管理员登录验证 publicintlogin(Stringusername,Stringpassword){ if(username.equals(user.getUser())){ if(password.equals(user.getPassword())){ return1;//账号和密码验证通过 }else{ return0;//密码错误 } }else{ return-1;//账号不存在 } } /* *菜单功能展示列表 * *图书信息展示功能 */ publicvoidshowBook(){ System.out.println("本图书馆共有"+(book.booknames.length-remainSpace())+"本书"); inta=bookinfo(); if(a==0){ //展示所有图书信息 showAll(); }elseif(a>0&&a<=book.booknames.length){ //展示相关图书信息 showPart(a); }else{ System.out.println("输入的编号不合法!"); showBook(); } } //展示所有图书信息 publicvoidshowAll(){ for(inti=0;i=0,无返-1 inta=selectIndex(bookname); //馆里有此书 if(a>=0){ if((book.borrowreaders[a].equals("无")||book.borrowreaders[a].equals("")))//无人借此书,""为扫描器的直接回车值 return0;//未借 else return1;//已借 }else{ return-1;//馆里没有此书 } } //将借阅者设置为无或者为空 publicvoidsetBorrowReader(Stringbookname){ inta=selectIndex(bookname); book.borrowreaders[a]="无"; } //查询指定书的借阅者 publicStringgetBorrowReader(Stringbookname){ inta=selectIndex(bookname); returnbook.borrowreaders[a]; } //书籍借阅功能 publicvoidborrow(Stringbookname,Stringreadername){ inta=selectBook(bookname); book.borrowreaders[a]=readername; } } //在LibraryUI.java中输入以下代码
packagecom.jiaxun.library.ui; importjava.util.Scanner; importcom.jiaxun.library.bo.Bo; publicclassLibraryUI{ Bobo=newBo(); publicstaticvoidmain(String[]args){ LibraryUIui=newLibraryUI(); ui.welcome();//欢迎界面 } //欢迎界面 publicvoidwelcome(){ System.out.println("*********************************"); System.out.println("********小☆询图书馆管理系统********"); System.out.println("*********************************"); loginBoundary();//登录界面 } //管理员登录界面 publicvoidloginBoundary(){ System.out.print("管理员账号:"); Scannerscanner=newScanner(System.in); Stringusername=scanner.nextLine(); System.out.print("登录密码:"); Scannerscanner1=newScanner(System.in); Stringpassword=scanner1.nextLine(); intflag=bo.login(username,password);//登录验证 switch(flag){ case0://密码错误 System.out.println("密码错误,请重新输入。"); loginBoundary(); break; case1://验证通过 System.out.println("登录成功!"); showMenu();//登录成功后跳转至菜单功能管理 break; case-1://账户不存在 System.out.println("您输入的管理员账号不存在,请确认后再输入。"); loginBoundary(); break; } } //菜单功能展示列表 publicvoidshowMenu(){ 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("请输入功能编号:"); Scannerscanner=newScanner(System.in); inta=scanner.nextInt();// switch(a){ case1://图书信息 showBook(); returnMethod();//返回主菜单 break; case2://录入新书籍 addBook(); break; case3://修改书籍基本信息 modBookInfo(); break; case4://删除书籍 delete(); break; case5://还书 returnBook(); break; case6://借阅 borrowBook(); break; case7://退出登录 welcome(); scanner.close(); break; } } //返回主菜单功能 publicvoidreturnMethod(){ System.out.print("按下ENTER键返回到功能主菜单:"); Scannerscanner=newScanner(System.in); Stringi=scanner.nextLine(); showMenu(); } //图书信息展示功能 publicvoidshowBook(){ bo.showBook(); } //录入新书籍功能 publicvoidaddBook(){ System.out.print("请输入要增加的书籍名称:");//书名 Scannerscanner=newScanner(System.in); Stringbookname=scanner.nextLine(); System.out.print("请输入"+bookname+"的作者:");//作者 Scannerscanner1=newScanner(System.in); Stringauthor=scanner1.nextLine(); System.out.print("请输入"+bookname+"的出版日期(格式如2000-01-01):");//出版日期 Scannerscanner2=newScanner(System.in); Stringpubdate=scanner2.nextLine(); System.out.print("请输入"+bookname+"的总页数(页):");//总页数 Scannerscanner3=newScanner(System.in); Stringsumpagination=scanner3.nextLine(); intflag=bo.addBook(bookname,author,pubdate,sumpagination); //1为成功,0为图书馆已经存在该新书,-1为仓库爆满 switch(flag){ case1: System.out.println("新书籍"+bookname+"添加成功,目前图书馆还有"+bo.remainSpace()+"个位置可以存放新书籍。"); returnMethod();//书籍添加界面中的返回功能,可选择继续添加或者回到主菜单 break; case0: System.out.println("添加书籍失败,"+bookname+"已存在该图书馆中!"); returnMethod();//书籍添加界面中的返回功能,可选择继续添加或者回到主菜单 break; case-1: System.out.println("添加失败,图书馆已经存储量已经爆满了,请删除部分书籍后再进行添加。"); showMenu(); break; } } //修改书籍信息 publicvoidmodBookInfo(){ System.out.print("请输入您要操作的书名:"); Scannerscanner=newScanner(System.in); Stringbookname=scanner.nextLine(); //根据书名查找相关的书籍信息 intflag=bo.selectBook(bookname); switch(flag){ case0: System.out.print("未找到相关书籍,输入0回车进入该层功能,输入1回车返回到功能主菜单。"); inta=scanner.nextInt(); if(a==0){ modBookInfo(); }elseif(a==1){ showMenu(); } break; case-1: System.out.println("书名为空,输入0回车进入该层功能,输入1回车返回到功能主菜单。"); inta1=scanner.nextInt(); if(a1==0){ modBookInfo(); }else{ showMenu(); } break; case1: System.out.print("以上信息为相关书名查找的结果,其中(数字“1”代表书名,数字“2”代表作者,数字“3”代表出版日期,数字“4”代表总页数,数字“5”代表借阅者)输入相关数字可以修改相关信息:"); inta2=scanner.nextInt();//1书名2作者3出版日期4总页数5借阅者 if(a2>0&&a2<6){ System.out.print("请输入您想修改的"+sortName(a2)+":"); Scannerscanner2=newScanner(System.in); Stringvalue=scanner2.nextLine(); intindex=bo.selectIndex(bookname); bo.modinfo(a2,value,index); System.out.println(bookname+"这本书的相关信息修改成功!"); returnMethod(); }else{ System.out.println("您输入的数字不合法。请重试!"); modBookInfo(); } break; } } //修改的分类名称 publicStringsortName(intflag){ if(flag==1) return"书名"; if(flag==2) return"作者"; if(flag==3) return"出版日期"; if(flag==4) return"总页数"; else return"借阅者"; } //删除书籍功能 publicvoiddelete(){ System.out.print("请输入要被删除的书名:"); Scannerscanner=newScanner(System.in); Stringbookname=scanner.nextLine(); intflag=bo.testReader(bookname); //存在此书并无人借 if(flag==0){ bo.deleteBook(bookname); System.out.println(bookname+"已从图书馆成功移除!输入0回到主菜单,输入1则继续删除"); delReturn(); }elseif(flag==1){//有人借 System.out.println("此书已借出,请等待归还后再删除。输入0回到主菜单,输入1则继续删除"); delReturn(); }else{//不存在此书 System.out.println("本馆不存在此书,请仔细较对。输入0回到主菜单,输入1则继续删除"); delReturn(); } } //删除的返回操作 publicvoiddelReturn(){ Scannerscanner1=newScanner(System.in); inti=scanner1.nextInt(); if(i==0){ showMenu(); }elseif(i==1){ delete(); } } //还书功能 publicvoidreturnBook(){ System.out.print("请输入要还的书籍名称:"); Scannerscanner=newScanner(System.in); Stringbookname=scanner.nextLine(); intflag=bo.testReader(bookname); if(flag==0){ System.out.println(bookname+"暂未借出。"); System.out.print("输入0回车返回至主菜单,输入其他键则继续还书"); Stringa=scanner.nextLine(); if(a.equals("0")){ showMenu(); }else{ returnBook(); } }elseif(flag==-1){ System.out.println(bookname+"不存在该图书馆中。"); System.out.print("输入0回车返回至主菜单,输入其他键则继续还书"); Stringa=scanner.nextLine(); if(a.equals("0")){ showMenu(); }else{ returnBook(); } }elseif(flag==1){ System.out.println(bo.getBorrowReader(bookname)+"已经还书成功!"); bo.setBorrowReader(bookname); System.out.print("输入0回车返回至主菜单,输入其他键则继续还书"); Stringa=scanner.nextLine(); if(a.equals("0")){ showMenu(); }else{ returnBook(); } } } //书籍借阅功能 publicvoidborrowBook(){ System.out.print("请输入要借的书名:"); Scannerscanner=newScanner(System.in); Stringbookname=scanner.nextLine(); intflag=bo.testReader(bookname); switch(flag){ case0://存在此书并无人借的情况 System.out.println("请输入借阅者的名字:"); Stringreadername=scanner.nextLine(); bo.borrow(bookname,readername); System.out.println(readername+"从该图书馆里借出了以"+bookname+"为名的书籍。"); System.out.print("输入0回车返回至主菜单,输入1回车则继续借书:"); inta0=scanner.nextInt(); if(a0==0) showMenu(); if(a0==1) borrowBook(); break; case1://存在此书被借的情况 System.out.println("借书失败,"+bookname+"已被借!"); System.out.print("输入0回车返回至主菜单,输入1回车则继续借书:"); inta=scanner.nextInt(); switch(a){ case0: showMenu(); break; case1: borrowBook(); break; } case-1://不存在此书的情况 System.out.println("借书失败,"+bookname+"不存在该图书馆中。"); System.out.print("输入0回车返回至主菜单,输入1回车则继续借书:"); inta1=scanner.nextInt(); switch(a1){ case0: showMenu(); break; case1: borrowBook(); break; } } } }更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。