版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
今天再给大家分享一个小项目:MiNi图书管理系统。用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书、删除图书、借阅图书、归还图书、查看图书等简单的功能(后附源代码)!首先展示一下运行界面效果图:运行代码后,会在控制台显示如下界面:然后让用户选择,如果用户不小心或者误输入了错误的数,会再次让用户进行输入。当用户输入2后,可以查看图书,会显示已有的图书:包括图书书名、借阅状态、借阅次数、借阅日期等信息。当用户输入1后,可以新增图书,再次让用户输入新增的图书名字,这里博主用mybook,效果如下:当用户输入3后,可以借阅图书。让用户再次输入借阅的图书名,如果输入的名字没在图书馆,则不可以借阅;如果在馆,且状态是已借出,也不能再次借阅;如果在馆,且状态是可借阅,则可以进行借阅。当用户输入4后,可以归还图书。再次让用户输入归还的图书名,同理,如果图书馆找不到该名字,提示用户不是本图书馆的书,不用归还;如果找到该书的名字,且状态是可借阅的,也不能归还;如果找到该书,且状态是已借出,则可以进行图书的归还。同时,还要让用户输入归还的日期,并对归还的日期进行判断,如果日期小于借阅的日期,则提示用户归还日期必须大于借阅日期,让用户再次输入,输入成功后,则显示归还成功。当用户输入5后,可以进行删除图书的操作。如果该馆找不到用户输入的书名,则提示用户不是本图书馆的书,不用归还;如果找到,且状态是已借出,则不能归还;如果找到该书,且书的状态是可借阅的,则可以进行删除图书的操作。当用户输入6后,就退出系统。源代码如下:packagecn.kgc.sg.MiTuSys;
importjava.util.Scanner;
publicclassMiNiBookMgrSys{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);//初始化书本信息String[]bookNames=newString[6];int[]borrowDates=newint[6];int[]borrowCounts=newint[6];int[]states=newint[6];//初始化三本书bookNames[0]="安徒生童话";borrowDates[0]=15;borrowCounts[0]=16;states[0]=0;//0:可借阅1:已借出bookNames[1]="格林童话";borrowDates[1]=0;borrowCounts[1]=0;states[1]=1;//0:可借阅1:已借出bookNames[2]="Java开发";borrowDates[2]=0;borrowCounts[2]=0;states[2]=0;//0:可借阅1:已借出intnum=-1;//初始化用户输入的数字booleanflag=true;//true:不退出系统false:退出系统do{System.out.println("************欢迎使用MiNi图书管理系统**********");System.out.println("\t\t\t\t\t1.新增图书");System.out.println("\t\t\t\t\t2.查看图书");System.out.println("\t\t\t\t\t3.借阅图书");System.out.println("\t\t\t\t\t4.归还图书");System.out.println("\t\t\t\t\t5.删除图书");System.out.println("\t\t\t\t\t6.退出系统");System.out.print("\n请选择:");intchoose=sc.nextInt();while(choose<0||choose>6){System.out.print("输入有误,重新输入:");choose=sc.nextInt();}switch(choose){case1:System.out.println("************1.新增图书**********");System.out.print("请输入新增图书的名字:");StringaddBook=sc.next();booleanisAdd=false;//false:不能添加图书true:可以添加图书//遍历数组,查找新增图书的位置for(inti=1;i<bookNames.length;i++){//数组没满,可以新增图书if(bookNames[i]==null){isAdd=true;bookNames[i]=addBook;System.out.println("新增图书成功!!!");break;}else{isAdd=false;}}//循环遍历输出数组内图书信息for(inti=0;i<bookNames.length;i++){//如果为空,不输出if(bookNames[i]!=null){Stringstate=(states[i]==0)?"可借阅":"已借出";//把借阅状态的01变成易看的“可借阅已借出”StringborrowCount=borrowCounts[i]+"次";StringborrowDate=borrowDates[i]+"日";System.out.println((i+1)+"\t\t"+bookNames[i]+"\t\t"+state+"\t\t"+borrowCount+"\t\t"+borrowDate);}}if(!isAdd){System.out.println("对不起,图书已满,不能新增!");break;}break;case2:System.out.println("2.查看图书");System.out.println("序号"+"\t\t\t"+"书名"+"\t\t\t"+"借阅状态"+"\t\t"+"借阅次数"+"\t\t"+"借阅日期");//循环遍历输出数组内图书信息for(inti=0;i<bookNames.length;i++){//如果为空,不输出if(bookNames[i]!=null){Stringstate=(states[i]==0)?"可借阅":"已借出";//把借阅状态的01变成易看的“可借阅已借出”StringborrowCount=borrowCounts[i]+"次";StringborrowDate=borrowDates[i]+"日";System.out.println((i+1)+"\t\t"+bookNames[i]+"\t\t"+state+"\t\t"+borrowCount+"\t\t"+borrowDate);}}break;case3:System.out.println("3.借阅图书");System.out.print("请输入您要借阅图书的名字:");StringborrowName=sc.next();booleanisBorrow=false;//true:能借阅for(inti=0;i<bookNames.length;i++){//如果可以找到书,且书的状态是可借阅,就可以借阅if(bookNames[i]!=null&&bookNames[i].equals(borrowName)&&states[i]==0){isBorrow=true;//输入借阅日期System.out.print("请输入借阅的日期:");intborrowRiQi=sc.nextInt();//判断输入的借阅日期是否合法while(borrowRiQi<1||borrowRiQi>31){System.out.print("输入有误,重新输入:");borrowRiQi=sc.nextInt();}System.out.println("借阅成功!!!");//更改借阅日期borrowDates[i]=borrowRiQi;//更新借阅状态states[i]=1;//更新借阅次数borrowCounts[i]++;break;}elseif(bookNames[i]!=null&&bookNames[i].equals(borrowName)&&states[i]==1){//如果可以找到书,且书的状态是已借出,不能借阅isBorrow=true;System.out.println("书已经借出,不能重复借阅!");break;//if(bookNames[i]==null)//if(!bookNames[i].equals(borrowName))}/*elseif(bookNames[i]==null){isBorrow=false;break;}*/}if(!isBorrow){//bookNames[i]==null说明找不到书System.out.println("抱歉,找不到该书!!!");break;}break;case4:System.out.println("4.归还图书");System.out.print("请输入您要归还图书的名字:");StringreturnName=sc.next();booleanisReturn=false;//true:能归还for(inti=0;i<bookNames.length;i++){//if(!bookNames[i].equals(borrowName))/*if(bookNames[i]==null){//找不到书isReturn=false;break;}else*///如果可以找到书,且书的状态是已借出,就可以归还if(bookNames[i]!=null&&bookNames[i].equals(returnName)&&states[i]==1){isReturn=true;//输入归还日期System.out.print("请输入归还的日期:");intreturnRiQi=sc.nextInt();//判断输入的归还日期是否合法while(returnRiQi<1||returnRiQi>31||returnRiQi<borrowDates[i]){//输入的归还日期不合法if(returnRiQi<1||returnRiQi>31){System.out.print("输入的日期有误,重新输入:");returnRiQi=sc.nextInt();}elseif(returnRiQi<borrowDates[i]){System.out.print("归还日期必须大于借阅日期,从新输入:");returnRiQi=sc.nextInt();}}System.out.println("归还成功!!!");//更新借阅状态states[i]=0;/*//更新借阅次数borrowCounts[i]++;*/break;}elseif(bookNames[i]!=null&&bookNames[i].equals(returnName)&&states[i]==0){//如果可以找到书,且书的状态是可借阅,不能归还isReturn=true;System.out.println("书可借阅,不能归还!");break;}}if(!isReturn){//bookNames[i]==null.说明找不到书,不可以归还System.out.println("抱歉,不是本图书馆的书,不用归还!!!");break;}break;case5:System.out.println("5.删除图书");System.out.print("请输入您要删除图书的名字:");StringdeleteName=sc.next();booleanisDelete=false;//true:能删false:不能删for(inti=0;i<bookNames.length;i++){/*//if(!bookNames[i].equals(borrowName))if(bookNames[i]==null){//找不到书,不能删isDelete=false;break;}else*/if(bookNames[i]!=null&&bookNames[i].equals(deleteName)&&states[i]==1){//如果可以找到书,且书的状态是已借出,不能删除isDelete=true;System.out.println("书已借出,不能删除!");break;}elseif(bookNames[i]!=null&&bookNames[i].equals(deleteName)&&states[i]==0){//如果可以找到书,且书的状态是可借阅,可以删除isDelete=true;//初始化呢index,用来记录下需要删除的位置intindex=-1;if(bookNames[i].equals(deleteName)){index=i;}//判断index是-1还是iif(index!=-1){//index不是-1,说明找到了图书,可以删除for(i=index;i<bookNames.length-1;i++){//从下标index1开始,后面的整体向前移一位bookNames[i]=bookNames[i+1];borrowDates[i]=borrowDates[i+1];borrowCounts[i]=borrowCounts[i+1];states[i]=states[i+1];
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论