问题描述
为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理。
管理器具备的功能主要有:
1、查看DVD信息。
菜单选择查看功能,展示DVD的信息。
2、新增DVD信息
选择新增功能,根据提示输入新增的DVD名称,添加到库存,如果DVD货架已满,即达到6张,则提示增加失败。
3、删除DVD信息
执行删除命令,输入要删除的DVD的名称,如果DVD为借出状态,不允许删除。如果没有该DVD信息,则提示“没有找到匹配信息”;
4、借出DVD
如果该DVD已经被借出,则系统提示“XX已经被借出”。如果没有找到该DVD信息,则系统提示“没有找到匹配信息!”。而且一个月默认为31天,如果输入的借出日期为大于31的数字,则系统给出提示“必须输入大于等于 1且小于等于31的数字,请重新输入”。
5、归还DVD
计算租金,1天1元。如果归还的DVD未被借出,则系统提示“该DVD没有被借出,无法进行归还操作。如果归还的DVD与列表中的DVD不匹配,则系统提示“没有找到匹配信息”。,如果归还时间小于借出时间,或者是大于31的数字,则系统分别提示“归还日期不能小于借出日期,请重新输入,和一个月只有31天,请重新输入。”
6、当用户执行退出命令时,结束本程序。
代码分享
publicclassManagerDVD {PRivatestaticString [][] dvdstr =newString[6][5];privatestaticintn = 0;//用户输入的操作命令privatestaticScanner in;//数字输入privatestaticScanner input;//汉字输入privatestaticString name =null;//DVD名字publicstaticvoidmain(String[] args) {
System.out.println("--------------------欢迎使用DVD管理系统--------------------");
System.out.println("系统的操作命令:\n1、添加DVD\n2、删除DVD\n3、查看DVD\n4、借出DVD\n5、归还DVD\n0、注销退出");
in=newScanner(System.in);for(inti=0; i<6; i++){
dvdstr[i][0] = ""+(i+1);
dvdstr[i][4] = "0";
}do{
System.out.print("请输入操作命令:");
n=in.nextInt();if(n!=0){
setManager(n);
}
}while(n!=0);
}privatestaticvoidsetManager(intn) {switch(n) {case1:
System.out.println("添加DVD");if(dvdstr[5][2]!=null){
System.out.println("DVD库存已满,无法添加");
break;
}
System.out.print("请输入DVD名字:");
input=newScanner(System.in);
name=input.nextLine();booleanboo =true;for(inti=0; i<6; i++){if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){
boo=false;
break;
}
}if(boo){for(inti=0; i<6; i++){if(dvdstr[i][2]==null){
dvdstr[i][1] = "未借出";
dvdstr[i][2] =name;
System.out.println("添加操作完成");
break;
}
}
}else{
System.out.println("该DVD已存在");
}
break;case2:
System.out.println("删除DVD");if(dvdstr[0][2]==null){
System.out.println("库存还没有DVD,无法进行删除操作");
break;
}
System.out.print("请输入DVD名字:");
input=newScanner(System.in);
name=input.nextLine();booleanbo =false;for(inti=0; i<6; i++){if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){for(intj=i; j<5; j++){
dvdstr[j][1] = dvdstr[j+1][1];
dvdstr[j][2] = dvdstr[j+1][2];
dvdstr[j][3] = dvdstr[j+1][3];
dvdstr[j][4] = dvdstr[j+1][4];
}
dvdstr[5][1] =null;
dvdstr[5][2] =null;
dvdstr[5][3] =null;
dvdstr[5][4] =null;
bo=true;
break;
}
}if(bo){
System.out.println("删除操作成功");
}else{
System.out.println("未找到该商品");
}
break;case3:
System.out.println("查看DVD");
System.out.println("序号\t状态\t名称\t\t借出日期\t借出次数");for(inti=0; i<6; i++){if(dvdstr[i][2]==null){
break;
}
System.out.println(dvdstr[i][0]+"\t"+dvdstr[i][1]+"\t"+dvdstr[i][2]+"\t\t"+dvdstr[i][3]+"\t"+dvdstr[i][4]);
}
break;case4:
System.out.println("借出DVD");if(dvdstr[0][2]==null){
System.out.println("库存还没有DVD,无法进行借出操作");
break;
}
System.out.print("请输入DVD的名字:");
name=input.nextLine();booleanb =false;for(inti=0; i<6; i++){if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){if("未借出".equals(dvdstr[i][1])) {
System.out.print("请输入借出日期:");intdate = 0;do{
date=in.nextInt();
}while(date>31&&date<=0);
dvdstr[i][1] = "已借出";
dvdstr[i][3] = ""+date;
dvdstr[i][4] = ""+(Integer.parseInt(dvdstr[i][4])+1);
System.out.println("借出操作完成");
}else{
System.out.println("该DVD已被借出");
}
b=true;
break;
}
}if(!b){
System.out.println("该DVD不存在");
}
break;case5:
System.out.println("归还DVD");if(dvdstr[0][2]==null){
System.out.println("库存还没有DVD,无法进行归还操作");
break;
}
System.out.print("请输入DVD的名字:");
name=input.nextLine();booleanflag =false;for(inti=0; i<6; i++){if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){if("已借出".equals(dvdstr[i][1])) {
System.out.print("请输入归还日期:");intdate = 0;intlend = Integer.parseInt(dvdstr[i][3]);do{
date=in.nextInt();
}while(date>31&&date<=0&&date>=lend);
dvdstr[i][1] = "未借出";
dvdstr[i][3] =null;
System.out.println("归还操作完成");
System.out.println("借出日期:"+lend);
System.out.println("归还日期:"+date);
System.out.println("您一共需要支付租金:"+((date-lend)*5)+"元");
}else{
System.out.println("该DVD已被借出");
}
flag=true;
break;
}
}if(!flag){
System.out.println("该DVD不存在");
}
break;default:
System.out.println("您输入的命令不合法!");
break;
}
}
}