码迷,mamicode.com
首页 > 编程语言 > 详细

简易DVD查询系统(Java半学年成果)

时间:2018-12-31 21:16:10      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:lips   pack   out   throws   inpu   添加   next   exti   bre   

值此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 }

以上。

最后,祝看到此篇的所有人新年快乐,明年再续辉煌!

简易DVD查询系统(Java半学年成果)

标签:lips   pack   out   throws   inpu   添加   next   exti   bre   

原文地址:https://www.cnblogs.com/SUN99bk/p/10203239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!