值此2018年最后一天,决定上传一下我上个星期做好的DVD查询系统(java);
虽然自己觉得应该会有更简单的方法,但苦于知识的薄弱,暂时只能用这样较为繁琐复杂的方式来实现;
如果以后有新的方法,我会在此文下附上;
以下是我自己做好并在Eclipse上运行试验好的源代码,如有不足还望谅解。
这是DVD任务管理器的主界面:
1 package day20181224; 2 3 import java.text.ParseException; 4 import java.util.Scanner; 5 6 public class DVDMenu { 7 Scanner input=new Scanner(System.in); 8 DVDMgr gsp=new DVDMgr(); 9 public void MiniDvd() throws ParseException{ 10 System.out.println("欢迎使用迷你DVD管理器"); 11 System.out.println("---------------------------"); 12 System.out.println("1.新增DVD\n2.查看DVD\n3.删除DVD" 13 + "\n4.借出DVD\n5.归还DVD\n6.退出"); 14 System.out.println("---------------------------"); 15 startMenu(); 16 } 17 public void startMenu() throws ParseException{ 18 System.out.print("请选择:"); 19 int get=input.nextInt(); 20 switch(get){ 21 case 1: 22 gsp.add(); 23 System.out.println("---------------------------"); 24 returnMenu(); 25 break; 26 case 2: 27 gsp.search(); 28 System.out.println("---------------------------"); 29 returnMenu(); 30 break; 31 case 3: 32 gsp.delete(); 33 System.out.println("---------------------------"); 34 returnMenu(); 35 break; 36 case 4: 37 gsp.borrow(); 38 System.out.println("---------------------------"); 39 returnMenu(); 40 break; 41 case 5: 42 gsp.returnDvd(); 43 System.out.println("---------------------------"); 44 returnMenu(); 45 break; 46 case 6: 47 System.out.println("\n谢谢您的使用!"); 48 break; 49 default: 50 System.out.println("您的输入有误,请重新输入:"); 51 startMenu(); 52 break; 53 } 54 } 55 public void returnMenu() throws ParseException{ 56 System.out.print("输入0返回:"); 57 if(input.nextInt() == 0){ 58 MiniDvd(); 59 }else { 60 System.out.println("您的输入有误,请重新输入"); 61 returnMenu(); 62 } 63 } 64 }
这是信息更新操作:
1 package day20181224; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 import java.util.Scanner; 7 8 public class DVDMgr { 9 Scanner input=new Scanner(System.in); 10 DVDSet dsp=new DVDSet(); 11 public void initial(){ 12 dsp.name[0]="罗马假日"; 13 dsp.state[0]=0; 14 dsp.date[0]="2013-7-1"; 15 dsp.name[1]="风声鹤唳"; 16 dsp.state[1]=1; 17 dsp.name[2]="浪漫满屋"; 18 dsp.state[2]=1; 19 } 20 //添加 21 public void add() throws ParseException{ 22 System.out.println("--->新增DVD"); 23 System.out.println(""); 24 System.out.print("请输入DVD名称:"); 25 String get=input.nextLine(); 26 for(int i=0;i<dsp.name.length;i++){ 27 if(dsp.name[i]==null){ 28 dsp.name[i]=get; 29 dsp.state[i]=1; 30 System.out.println("新增《"+get+"》成功!"); 31 break; 32 } 33 } 34 } 35 //查看 36 public void search() throws ParseException{ 37 System.out.println("--->查看DVD"); 38 System.out.println(""); 39 System.out.println("序号\t状态\t名称\t\t借出日期"); 40 for(int i=0;i<dsp.name.length;i++){ 41 if(dsp.name[i]==null){ 42 break; 43 } 44 else if (dsp.state[i]==0){ 45 System.out.println(i+1+"\t已借出\t"+"<<"+dsp.name[i]+">>\t"+dsp.date[i]); 46 }else if(dsp.state[i]==1){ 47 System.out.println(i+1+"\t可借\t"+"<<"+dsp.name[i]+">>"); 48 } 49 } 50 } 51 //删除 52 public void delete() throws ParseException{ 53 System.out.println("--->删除DVD"); 54 System.out.println(""); 55 System.out.print("请输入DVD名称:"); 56 String get=input.next(); 57 for(int i=0;i<dsp.name.length;i++){ 58 if(dsp.name[i]!=null){ 59 if(get.equals(dsp.name[i])){ 60 if(dsp.state[i]==0){ 61 System.out.println("《"+dsp.name[i]+"》为借出状态,不能删除!"); 62 break; 63 }else if(dsp.state[i]==1){ 64 for(int j=i;j<dsp.name.length;j++){ 65 if(dsp.name[j+1] != null){ 66 dsp.name[j] = dsp.name[j+1]; 67 dsp.state[j] = dsp.state[j+1]; 68 69 }else{ 70 //清空最后一个值 71 dsp.name[j] = null; 72 dsp.date[j] = null; 73 break; 74 } 75 } 76 System.out.println("删除《"+get+"》成功"); 77 break; 78 } 79 } 80 }else{ 81 System.out.println("《"+get+"》不存在,不能删除!"); 82 break; 83 } 84 } 85 } 86 //借阅 87 public void borrow() throws ParseException{ 88 System.out.println("--->借出DVD"); 89 System.out.println(""); 90 System.out.print("请输入DVD名称:"); 91 String get=input.nextLine(); 92 for(int i=0;i<dsp.name.length;i++){ 93 if(dsp.name[i]!=null){ 94 if(dsp.name[i].equals(get) && dsp.state[i] == 1){ 95 dsp.state[i] = 0; 96 System.out.print("请输入借书的时间(年-月-日):"); 97 Scanner inputDate = new Scanner(System.in); 98 dsp.date[i] = inputDate.next(); 99 System.out.println("借出<<"+get+">>成功!"); 100 break; 101 }else if(dsp.name[i].equals(get) && dsp.state[i] == 0){ 102 System.out.println("不好意思<<"+get+">>已经被借出!"); 103 break; 104 } 105 }else{ 106 System.out.println("没有您要找的DVD!"); 107 break; 108 } 109 } 110 } 111 //归还 112 public void returnDvd() throws ParseException{ 113 System.out.println("--->归还DVD"); 114 System.out.println(""); 115 System.out.print("请输入DVD名称:"); 116 String get=input.nextLine(); 117 for(int j=0;j<dsp.name.length;j++){ 118 if(dsp.name[j]==null){ 119 System.out.println("没有找到匹配信息!"); 120 break; 121 }else if(dsp.name[j].equals(get)&&dsp.state[j]==0){ 122 dsp.state[j]=1; 123 System.out.print("请输入归还日期(年-月-日):"); 124 String get2=input.nextLine(); 125 System.out.println("\n"); 126 System.out.println("归还《"+get+"》成功!"); 127 System.out.println("借出日期为:"+dsp.date[j]); 128 System.out.println("归还日期为:"+get2); 129 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 130 Date startDate=sdf.parse(dsp.date[j]);//开始时间 131 Date endDate=sdf.parse(get2);//结束时间 132 int days=(int)((endDate.getTime()-startDate.getTime())/(24*60*60*1000)); 133 System.out.println("应付租金(元)"+days); 134 dsp.date[j]=null; 135 break; 136 }else if(dsp.name[j].equals(get)&&dsp.state[j]==1){ 137 System.out.println("此书尚未被借,无法进行归还操作!"); 138 break; 139 } 140 } 141 } 142 }
这是初始化信息:
1 package day20181224; 2 3 public class DVDSet { 4 String[ ] name = new String[50];//DVD 名称数组 5 int[ ] state = new int[50]; //DVD 借出状态:0 已借 出,1 可借 6 String[ ] date=new String[50]; //DVD 7 //初始化 8 }
这是测试类:
1 package day20181224; 2 3 import java.text.ParseException; 4 5 public class TestDvd { 6 7 public static void main(String[] args) throws ParseException { 8 DVDMenu cs=new DVDMenu(); 9 //调用初始化值 10 cs.gsp.initial(); 11 //调用菜单 12 cs.MiniDvd(); 13 } 14 15 }
以上。
最后,祝看到此篇的所有人新年快乐,明年再续辉煌!
原文地址:https://www.cnblogs.com/SUN99bk/p/10203239.html
时间: 2024-10-11 03:38:01