import java.util.*;public class MyBookMgr2 {public static void main(String[] args){Scanner input=new Scanner(System.in);//是否退出系统,false代表退出系统boolean flag=true;//图书相关信息,最多只能存储6个图书信息String[] name=new String[6]; //图书名称int[] state=new int[6]; //借阅状态,0:可借阅 ;1:已借出int[] date=new int[6]; //借出日期int[] count=new int[6]; //借出次数/* * 初始化三个图书 * */name[0]="罗马假日";state[0]=1;date[0]=1;count[0]=15;name[1]="白雪公主";state[1]=0;count[1]=12;name[2]="葫芦兄弟";state[2]=0;count[2]=30;int num=-1;//循环操作do{//输出欢迎菜单System.out.println("欢迎使用迷你图书管理器");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("-------------------------");System.out.println("请选择:");int choose=input.nextInt();switch(choose){case 1://新增图书System.out.println("-->新增图书\n");System.out.println("请输入图书名称:");String BookName=input.next();boolean flag2=false;for(int i=0;i<name.length;i ){if(name[i]==null){name[i]=BookName;System.out.println("新增《" BookName "》成功!");flag2=true;break;}}if(!flag2){System.out.println("抱歉,新增《" BookName "》失败!货架已满!");}System.out.println("*****************************************");break;case 2://查看图书System.out.println("-->查看图书\n");System.out.println("序号\t状态\t名称\t借出日期\t借出次数");for(int i=0;i<name.length;i ){if(name[i]!=null){String BookState=(state[i]==0)?"可借阅":"已借出";String dateStr=(date[i]==0)?"":(date[i] "日");System.out.println((i 1) "\t" BookState "\t" name[i] "\t" dateStr "\t" count[i] "次");}}System.out.println("*****************************************");break;case 3://删除图书System.out.println("-->删除图书\n");System.out.println("请输入要删除图书的名称:");String delete=input.next();boolean flag3=false;int index=-1; //记录要删除图书的位置for(int i=0;i<name.length;i ){if(name[i]!=null && delete.equals(name[i]) && state[i]==0){flag3=true;index=i;System.out.println("图书删除成功!");break;}else if(name[i]!=null && delete.equals(name[i]) && state[i]==1){flag3=true;System.out.println("该图书已被借出,目前无法删除!");break;}}//根据记录下来的删除图书的位置进行删除工作if(index!=-1){for(int j=index;j<name.length;j ){if(j!=name.length-1){name[j]=name[j 1];state[j]=state[j 1];date[j]=date[j 1];}name[name.length-1]=null;}}if(!flag3){System.out.println("没有找到匹配信息!");}System.out.println("*****************************************");break;case 4://借出图书System.out.println("-->借出图书\n");System.out.print("请输入图书名称:");String want=input.next(); //要借出的图书名称for(int i=0;i<name.length;i ){if(name[i]==null){ //无匹配System.out.println("没有找到匹配信息!");break;}else if(want.equals(name[i]) && state[i]==0){ //找到匹配可借state[i]=1; //将此图书置于借出状态System.out.print("请输入借出日期:");date[i]=input.nextInt();while(date[i]<1 || date[i]>31){ //当输入借出的日期不满足1-31时System.out.println("必须输入大于等于1且小于等于31的数字,请重新输入:");date[i]=input.nextInt();}System.out.println("借出《" want "》成功!");count[i] ;break;}else if(want.equals(name[i]) && state[i]==1){ //找到匹配已被借出System.out.println("《" want "》已被借出!");break;}}System.out.println("*****************************************");break;case 5://归还图书System.out.println("-->归还图书\n");int charge=0; //租金System.out.print("请输入归还图书名称:");want=input.next();for(int i=0;i<name.length;i ){if(name[i]==null){ //无匹配System.out.println("没有找到匹配信息!");break;}else if(want.equals(name[i]) && state[i]==1){//找到匹配state[i]=0; //将借阅状态修改为可借阅System.out.print("请输入归还日期:");int redate=input.nextInt();while(redate<date[i] || redate>31){ //归还日期不能小于借出日期,也不能大于31if(redate<date[i]){System.out.println("归还日期不能小于借出日期,请重新输入:");}else{System.out.println("一个月只有31天,请重新输入:");}redate=input.nextInt();}charge=redate-date[i];System.out.println("\n归还《" want "》成功!");System.out.println("借出日期为:" date[i] "日");System.out.println("归还日期为:" redate "日");System.out.println("应付租金(元):" charge); date[i]=0;break;}else if(want.equals(name[i]) && state[i]==0){//找到匹配但没有借出System.out.println("该图书没有被借出!无法进行归还操作。");break;}}System.out.println("*****************************************");break;case 6://退出图书flag=false;break;default:flag=false;break;}if(flag){System.out.println("输入0返回:");num=input.nextInt();}else{break;}}while(num==0);System.out.println("谢谢使用!");}}
评论