• 迷你DVD管理器项目


      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("
    请输入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("序号	状态	名称		借出日期	借出次数");
     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)+"	"+state[i]+"	"+"《"+name[i]+"》"+"	"+myDate+"	"+count[i]+"次");                            
    102                     }
    103                     break;
    104                 case "3":
    105                     System.out.println("--->删除DVD");
    106                     System.out.print("
    请输入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("
    请输入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("
    请输入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 }
  • 相关阅读:
    harass
    matlab的legend()用法
    migrate
    大千敦煌面壁
    三维插值(MATLAB)——TriScatteredInterp/scatteredInterpolant函数
    有哪些不出名的诗人写的千古名句?
    听吴翰清讲课笔记
    移动着,心就变了
    人活着为了什么?
    人生就是一场修炼
  • 原文地址:https://www.cnblogs.com/WuXuanKun/p/5417016.html
Copyright © 2020-2023  润新知