1 package chapter5;
  2 import java.util.*;
  3
  4 public class MiniDVD {
  5     public static void main(String[] args){
  6         //扫描器
  7         Scanner input = new Scanner(System.in);
  8         //重要参数及初始化
  9         //Create four arrays with length of 7
 10         //定义四个数组长度为7
 11         int date[] = new int[7];            //borrow date
 12         int count[] = new int[7];            //total count
 13         String name[] =new String[7];        //name of DVDs
 14         String state[] = new String[7];        //state
 15         //Initiate three DVD
 16         //FirstDVD
 17         name[0] = "罗马假日";
 18         state[0] = "已借出";
 19         date[0] = 1;
 20         count[0] =15;
 21         //Second DVD
 22         name[1] = "风声鹤唳";
 23         state[1] = "可借";
 24         date[1] = 0;
 25         count[1] =12;
 26         //Third DVD
 27         name[2] = "浪漫满屋";
 28         state[2] = "可借";
 29         date[2] = 0;
 30         count[2] =30;
 31
 32         //循环进入条件
 33         String choice = " ";
 34         boolean flag = true;
 35         do{
 36             //Create DVD Menu
 37             System.out.println("欢迎使用迷你DVD管理器");
 38             System.out.println("------------------------------------------------------");
 39             System.out.println("1.新增DVD");
 40             System.out.println("2.查看DVD");
 41             System.out.println("3.删除DVD");
 42             System.out.println("4.借出DVD");
 43             System.out.println("5.归还DVD");
 44             System.out.println("6.退出DVD");
 45             System.out.println("------------------------------------------------------");
 46             System.out.print("请选择:");
 47             choice = input.next();
 48
 49             //Switch choice menu
 50             switch (choice){
 51                 case "1":
 52                     System.out.println("--->新增DVD");
 53                     System.out.print("\n请输入DVD名称:");
 54                     boolean firstMonitor = true;
 55                     boolean secondMonitor = false;
 56                     String bookName = " ";
 57                     do{
 58                         bookName= input.next();
 59                         if(firstMonitor){
 60                             for(int i = 0; i<name.length; i++){
 61                                 if(bookName.equals(name[i])){
 62                                     System.out.println("货架上已经存在该DVD,请返回目录重新选择!");
 63                                     secondMonitor = true;
 64                                     break;
 65                                 }
 66                             }
 67                         }
 68                         firstMonitor =false;
 69                     }while(firstMonitor);
 70
 71                     if(!secondMonitor){
 72                         for (int j = 0;j<name.length; j++){
 73                             if((name[j])==null){
 74                                 name[j]= bookName;
 75                                 state[j] = "可借";
 76                                 count[j] = 0;
 77                                 System.out.println("新增《"+bookName+"》成功!");
 78                                 System.out.println("***************************");
 79                                 break;
 80                             }
 81                             if(name[name.length-2] !=null){
 82                                 System.out.println("DVD货架已满,添加失败!");
 83                                 System.out.println("***************************");
 84                                 break;
 85                             }
 86                         }
 87                     }
 88                     break;
 89                 case "2":
 90                     System.out.println("--->查看DVD");
 91                     System.out.println("序号\t状态\t名称\t\t借出日期\t借出次数");
 92                     for (int i = 0; i<name.length; i++){
 93                         if(name[i] == null){
 94                             System.out.println("***************************");
 95                             break;
 96                         }
 97                         String myDate = " ";
 98                         if(date[i] != 0){
 99                             myDate = date[i]+"日";
100                         }
101                         System.out.println((i+1)+"\t"+state[i]+"\t"+"《"+name[i]+"》"+"\t"+myDate+"\t"+count[i]+"次");
102                     }
103                     break;
104                 case "3":
105                     System.out.println("--->删除DVD");
106                     System.out.print("\n请输入DVD名称:");
107                     String delName = input.next();
108                     //define index monitor: check
109                     int check = -1;
110                     for(int i = 0; i < name.length; i++){
111                         if(delName.equals(name[i])){
112                             check = i;
113                             break;
114                         }
115                     }
116                     if(check != -1){
117                         if(state[check].equals("可借")){
118                             //Delete operation
119                             for(int j = check; j < name.length-1; j++){
120                                 name[j] = name[j+1];
121                                 state[j] = state[j+1];
122                                 date[j] = date[j+1];
123                                 count[j] = count[j+1];
124                             }
125                             System.out.println("删除《"+delName+"》成功!");
126                             System.out.println("***************************");
127                             break;
128                         }else{
129                             System.out.println("DVD为借出状态,不允许删除!");
130                             System.out.println("***************************");
131                         }
132                     }else{
133                         System.out.println("没有找到匹配信息!");
134                         System.out.println("***************************");
135                     }
136                     break;
137                 case "4":
138                     System.out.println("--->借出DVD");
139                     System.out.print("\n请输入DVD名称:");
140                     String lendName = input.next();
141                     //Initiate lendDate with 1, so as to enter the do-loop
142                     int lendDate = 1;
143                     System.out.print("请输入借出日期:");
144                     //Avoid user input wrong date
145                     do{
146                         lendDate = input.nextInt();
147                         if((lendDate<1)||(lendDate>31)){
148                             System.out.print("必须输入大于等于1且小于等于31的数字,请重新输入:");
149                         }
150                     }while((lendDate<1)||(lendDate>31));
151
152                     //define index monitor
153                     int index = -1;
154                     for(int i = 0; i < name.length; i++){
155                         if(lendName.equals(name[i])){
156                             index = i;
157                             break;
158                         }
159
160                     }
161                     //lend operation
162                     if(index != -1){
163                         if(state[index].equals("可借")){
164                             state[index] = "已借出";
165                             count[index] +=1;
166                             date[index] = lendDate;
167                             System.out.println("借出《"+lendName+"》成功!");
168                             System.out.println("***************************");
169                         }else{
170                             System.out.println("《"+lendName+"》已被借出!");
171                             System.out.println("***************************");
172                         }
173                     }else{
174                         System.out.println("没有找到匹配信息!");
175                         System.out.println("***************************");
176                     }
177                     break;
178                 case "5":
179                     System.out.println("--->归还DVD");
180                     System.out.print("\n请输入DVD名称:");
181                     String returnName = input.next();
182                     //define index monitor
183                     int monitor = -1;
184                     for(int i = 0; i < name.length; i++){
185                         if(returnName.equals(name[i])){
186                             monitor = i;
187                             break;
188                         }
189
190                     }
191                     //Initiate myLendPeriod with 0, and enter the do-loop
192                     int returnDate = 0;
193                     int myLendPeriod = 0;
194                     do{
195                         System.out.print("请输入归还日期:");
196                         //Avoid user input wrong date
197                         do{
198                             returnDate = input.nextInt();
199                             if(monitor != -1){
200                                 myLendPeriod = returnDate - date[monitor];
201                             }
202                             if(returnDate > 31){
203                                 System.out.print("一个月只有31天,请重新输入:");
204                             }
205                             if(myLendPeriod < 0){
206                                 System.out.println("归还日期不能小于借出日期,请重新输入:");
207                             }
208                         }while((returnDate>31)||(myLendPeriod<0));
209                         //Return operation
210                         if(monitor != -1){
211                             if(state[monitor].equals("已借出")){
212                                 state[monitor] = "可借";
213                                 date[monitor] = 0;
214                                 System.out.println("归还《"+returnName+"》成功!");
215                                 System.out.println("借出日期为:"+date[monitor]+"日");
216                                 System.out.println("归还日期为:"+returnDate+"日");
217                                 System.out.println("应付租金(元):"+myLendPeriod);
218                                 System.out.println("***************************");
219                             }else{
220                                 System.out.println("该DVD没有被借出!无法进行归还操作。");
221                                 System.out.println("***************************");
222                             }
223                         }else{
224                             System.out.println("没有找到匹配信息!");
225                             System.out.println("***************************");
226                         }
227                         break;
228                     }while(myLendPeriod < 0);
229                     break;
230                 case "6":
231                     flag = false;
232                     break;
233                 default:
234             }
235             if(flag){
236                 System.out.print("输入任意值返回:");
237                 choice = input.next();
238             }
239         }while(flag);
240
241         //program exit
242         System.out.println("程序结束");
243     }
244 }

转载于:https://www.cnblogs.com/WuXuanKun/p/5417016.html

迷你DVD管理器项目相关推荐

  1. JAVA综合练习-迷你DVD管理器

    系统概述 为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能: 新增DVD 查看DVD 删除DVD 借出DVD 归还DVD 退出DVD. 实现数据初始化 实现菜单切换 实现查看DV ...

  2. java迷你DVD管理器

    package com.xxx.dvd;public class DVDSet {public String name;//dvd名称public int state;//dvd状态public St ...

  3. JAVA之迷你DVD管理器

    1.JAVA之迷你DVD管理器. 1>打开记事本,写如下一段代码: import java.text.ParseException; import java.text.SimpleDateFor ...

  4. DVD管理系统:为某音像店开发一个迷你DVD管理器,实现DVD碟片的管理,包括如下功能:

     package com.sxt.oop.dvd; /**  * DVD类  * @author ty  *  */ public class Dvd implements Comparable& ...

  5. Java求生之路--迷你DVD管理器

    //DVD类 public class DVD {boolean flag = false;int num;Scanner input = new Scanner (System.in);String ...

  6. Java基础课程设计——DVD管理器

    一.DVD管理器项目介绍 基于java的DVD管理器实现,功能如下:新增DVD,查看DVD,删除DVD,借出DVD,归还DVD,退出DVD 二.代码实现 1.创建三个类 DVD:存放DVD属性 DVD ...

  7. dvd管理器java,简单DVD管理-java练习题

    问题描述 为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理. 管理器具备的功能主要有: 1.查看DVD信息. 菜单选择查看功能,展示DVD的信息. 2.新增DVD信息 选择新增功 ...

  8. 迷你图书管理器1.2 - 面向对象+集合

    迷你图书管理器 author:luckyboy! version:1.2 知识储备:变量.数据类型.选择结构.循环结构.数组 .面向对象.集合 系统概述:为某图书馆开发一个迷你图书管理系统,实现图书的 ...

  9. 迷你图书管理器1.0 - 变量+数组

    迷你图书管理器 author:luckyboy! version:10 知识储备:变量.数据类型.选择结构.循环结构.数组 系统概述:为某图书馆开发一个迷你图书管理系统,实现图书的管理. 功能: 新增 ...

最新文章

  1. 智能家庭本周锋闻:式微的三星和老气的SmartThings
  2. 《廖雪峰 . Git 教程》学习总结
  3. UVA - 1378 A Funny Stone Game(博弈+sg函数)
  4. Q+开放的互联网:腾讯QQ “亮剑” 开放平台
  5. mysql使用游标的访问过程_mysql存储过程中使用游标的实例_MySQL
  6. 黑马2016java_2016年成功的Java开发人员简介
  7. CentOS6.5升级内核到3.10.28
  8. flask post json_Flask 和 requests 搭建一个简单的API服务
  9. aws rds监控慢sql_在AWS RDS SQL Server上的SSAS中部署表格数据库
  10. android快速搭建界面,怎么样能快速搭建一个Android APP的界面和框架?
  11. 基于Vue.js的表格分页组件
  12. 利用图片的 onerror 事件载入默认图片
  13. 服务器配置文件设计,IM配置服务器概要的设计文件.doc
  14. 利用Java程序分析福彩3D
  15. element-ui表格的滚动条样式修改(当固定table表格高度时默认滚动条样式太丑)
  16. 求1至10乘阶的总和及求任意数乘阶
  17. vim开启粘贴板功能
  18. 关于C++的数组或者字符串的输入问题
  19. “智慧工地“有哪些高科技?一起来看看
  20. latex中图片和文字并列排放讲解

热门文章

  1. 怎样定义网页里的关键字关键词
  2. ecshop后台实现用ajax动态修改/更新用户评论的时间
  3. sql查table,VIEW,sp, function 及 trigger 物件
  4. 多VLAN环境下DHCP服务的实现
  5. DES加密解密算法Java实现
  6. 阅读A Practical Guide to Support Vector Classification
  7. Hadoop多用户作业调度器和安全机制的自我总结
  8. Java实现从Html文本中提取纯文本
  9. Leetcode 171. Excel表列序号 解题思路及C++实现
  10. 通信经典书籍(转载)