需求说明:为某音像店开发一个迷你DVD管理器,实现如下图所示的DVD碟片的管理功能。功能具体包括:新增、查看、删除、借出、归还和退出。程序可参照以下步骤进行开发:
(1)数据初始化(5分)
使用数组对象保存DVD信息;每张DVD的信息包含:名称、是否可借的状态、借出的日期、借出的次数。
(2)查看DVD信息(10分)
使用for循环遍历显示每个DVD的信息。当name[i]==null时循环结束。
(3)新增DVD信息(10分)
向各数组中存储相应的DVD信息,如果已经存储了6个DVD则提示用户货架已满。
(4)删除DVD信息(10)
按照输入的名称,删除指定DVD信息;删除借出状态的DVD和不存在的DVD时,都要给出相应提示。
(5)借出DVD业务处理(5)
按照输入的名称,借出指定DVD;判断输入的日期是否在1-31之间;若该DVD已借出或没有该DVD,都要给出相应提示。
(6)归还DVD业务处理(5)
实现归还DVD,并计算租金;如果用户输入的日期大于31或者小于借出日期将提示用户重新输入;如果归还未借出的DVD、不存在的DVD或者归还DVD的时间不合理则分别给出相应提示。
(7)菜单切换(5)
使用switch语句实现菜单选择;使用do-while循环来实现返回和退出。
代码如下:
package cn.kgc.mls.day10; import java.util.Scanner; public class zuoye { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String names[] = new String[6]; String[] zt = new String[6]; int[] times = new int[6]; int[] cs = new int[6]; int[] jc=new int[6]; int[] ghd=new int[6]; int nums=-1; System.out.println("欢迎使用迷你DVD管理器"); System.out.println("-------------------------"); do{ System.out.println("1:新增DVD"); System.out.println("2:查看DVD"); System.out.println("3:删除DVD"); System.out.println("4:借出DVD"); System.out.println("5:归还DVD"); System.out.println("6:退出DVD"); System.out.println("--------------------"); System.out.print("请选择"); int choose = sc.nextInt(); boolean isAdd=false; boolean isdel=false; boolean isFind=false; boolean issFind=false; boolean isExit=false; switch (choose) { case 1: System.out.println("--->>>>新增DVD"); for(int i=0;i<names.length;i++){ if(names[i]==null){ isAdd=true; System.out.print("请输入DVD名称:"); String name=sc.next(); System.out.println("是否可借?"); int q=sc.nextInt(); String qw=q>0? "可以借": "不可以借"; System.out.print("请输入已借出次数:"); int fen=sc.nextInt(); System.out.println("新增《"+name+"》成功"); System.out.println("-----------------------------"); names[i]=name; zt[i]=qw; cs [i]= fen; break; } } if(!isAdd){ System.out.println("货架已满"); } break; case 2: System.out.println("*****查看DVD*****"); System.out.println("序号\t\tDVD名称\t\t是否可借\t\t借出日期\t\t借出次数"); for(int i=0;i<names.length;i++){ if(names[i]!=null){ isAdd=false; String time=times[i]+"号"; System.out.println((i+1)+"\t\t"+names[i]+"\t\t"+zt[i] +"\t\t"+time+"\t\t"+cs[i]+"\t\t"); System.out.println("------------------------"); } } break; case 3: System.out.println("请输入需要删除的DVD名称"); int a=sc.nextInt(); for(int i=0;i<names.length;i++){ if(names[i]!=null && zt[i]=="可以借" && a==i+1 ){ isdel=true; for(int j=a-1;j<names.length-1;j++){ names[j]=names[j+1]; zt[j]=zt[j+1]; cs[j]=cs[j+1]; times[j]=times[j+1]; } names[names.length-1]=null; zt[names.length-1]=null; cs[names.length-1]=0; times[names.length-1]=0; System.out.println("DVD删除成功"); break; }else if(names[i]!=null && zt[i]=="不可以借" && a==i+1 ){ isdel=true; System.out.println("DVD已经借出不能删除"); } } if(!isdel){ System.out.println("您要删除的DVD不存在"); } break; case 4: System.out.print("请输入需要借出DVD的编号:"); int orderId=sc.nextInt(); System.out.print("输入借出日期"); int biaoHao=sc.nextInt(); for(int i=0;i<names.length;i++){ times[i]=biaoHao; if(1< times[i] && times[i]< 31 && zt[i]=="可以借" && orderId==i+1){ zt[i]="不可以借"; System.out.println("DVD成功借出"); isFind=true; break; }else if(1< times[i] && times[i]< 31 && zt[i]=="不可以借" && orderId==i+1){ System.out.println("DVD已经借出"); isFind=true; break; }else if(1> times[i] || times[i]> 31){ System.out.println("你输入的借出日期有误,请重新输入"); isFind=true; break; } } if(!isFind){ System.out.println("您输入的DVD不存在"); } break; case 5: System.out.print("请输入需要归还DVD的编号:"); int gh=sc.nextInt(); System.out.print("输入归还日期"); int ghb=sc.nextInt(); for(int i=0;i<names.length;i++){ ghd[i]=ghb; if(times[i]< ghd[i] && ghd[i]< 31 && zt[i]=="不可以借" && gh==i+1){ zt[i]="可以借"; System.out.println("DVD归还成功"); int n=ghd[i]-times[i]; int m=3; int l=n*3; System.out.println("收你"+l+"元"); issFind=true; break; }else if( zt[i]=="可以借" && gh==i+1){ System.out.println("DVD还未归还"); issFind=true; break; }else if(times[i]> ghd[i] || ghd[i]> 31 || gh==i+1){ System.out.println("你输入的归还日期有误,请重新输入"); issFind=true; break; } } if(!issFind){ System.out.println("您输入的DVD不存在"); } break; case 6: isExit=true; break; default: isExit=true; break; } if(!isExit){ System.out.print("输入0返回:"); nums=sc.nextInt(); }else{ break; } }while(nums==0); System.out.println("成功退出系统,欢迎下次使用"); } }