MiniDVD管理系統

 

  1. 以下代碼是本人的原創,分別建了三個類,一個是測試類,一個是實現方法類,一個是DVD的屬性類。  
  2.  
  3. package cho17;  
  4. import java.text.ParseException;  
  5. import java.text.SimpleDateFormat;  
  6. import java.util.Date;  
  7. import java.util.Scanner;  
  8.  
  9. public class DVDmgr {  
  10.     Scanner input=new Scanner(System.in);  
  11.     //創建對象  
  12.     DVDset dvd=new DVDset();  
  13.     //數據的初始化  
  14.     public void dvdinfo(){  
  15.         dvd.name[0]="羅馬假日";  
  16.         dvd.date[0]="2012-07-05";  
  17.         dvd.num[0]=50;  
  18.         dvd.state[0]="借出";  
  19.         dvd.count[0]=30;  
  20.  
  21.         dvd.name[1]="小婦人";  
  22.         dvd.date[1]=null;  
  23.         dvd.num[1]=33;  
  24.         dvd.state[1]="可借";  
  25.         dvd.count[1]=23;  
  26.  
  27.         dvd.name[2]="分享年";  
  28.         dvd.date[2]=null;  
  29.         dvd.num[2]=45;  
  30.         dvd.state[2]="可借";  
  31.         dvd.count[2]=21;  
  32.     }     
  33.  
  34.     //顯示主菜單  
  35.     public void showmainmenu(){  
  36.         System.out.println("歡迎使用迷你DVD管理器");  
  37.         System.out.println("--------------------------------------");  
  38.         System.out.println("1.新增DVD");  
  39.         System.out.println("2.查看DVD");  
  40.         System.out.println("3.刪除DVD");  
  41.         System.out.println("4.借出DVD");  
  42.         System.out.println("5.歸還DVD");  
  43.         System.out.println("6.查看排行榜");  
  44.         System.out.println("7.退出DVD");  
  45.         System.out.println("------------------------------------------------------------");  
  46.  
  47.  
  48.  
  49.     }         
  50.  
  51.     //編寫新增DVD的方法  
  52.     public void addDVD(){  
  53.  
  54.         String choice;  
  55.  
  56.  
  57.         for(int i=0;i<dvd.name.length;i++){  
  58.             if(dvd.name[i]==null){  
  59.                 System.out.println("請輸入增加的DVD名:");  
  60.                 dvd.name[i]=input.next();  
  61.                 dvd.state[i]="可借";  
  62.                 dvd.date[i]=null;  
  63.                 dvd.num[i]=0;  
  64.                 System.out.println("繼續嗎(y/n)");  
  65.                 choice=input.next();  
  66.                 if(choice.equals("n")){  
  67.  
  68.                     System.out.println("添加成功,已實現新增!");  
  69.  
  70.                     break;  
  71.                 }  
  72.  
  73.  
  74.             }  
  75.         }  
  76.     }  
  77.  
  78.     //編寫方法實現查看  
  79.     public void search(){  
  80.  
  81.         System.out.println("-------------查看DVD");  
  82.         System.out.println("序號\t\t狀態\t\t名稱\t\t借出日期");  
  83.         for(int i=0;i<dvd.name.length;i++){  
  84.             if(dvd.name[i]==null){  
  85.                 break;  
  86.             }else{  
  87.  
  88.                 System.out.println((i+1)+"\t\t"+dvd.state[i]+"\t\t"+dvd.name[i]+"\t\t"+dvd.date[i]);  
  89.  
  90.             }         
  91.  
  92.         }  
  93.     }  
  94.  
  95.     //編寫方法實現刪除  
  96.     public void delete(){  
  97.         String dename="";  
  98.  
  99.         System.out.println("------------刪除DVD");  
  100.         System.out.println("請輸入要刪除的DVD的名字:");  
  101.         dename=input.next();  
  102.         for(int i=0;i<dvd.name.length;i++){  
  103.             if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(dename)&&  
  104.                     dvd.state[i]=="可借"){  
  105.                 int j=i;  
  106.                 while(dvd.name[j]!=null){  
  107.                     dvd.name[j]=dvd.name[j+1];  
  108.                     dvd.date[j]=dvd.date[j+1];  
  109.                     dvd.num[j]=dvd.num[j+1];  
  110.                     dvd.state[j]=dvd.state[j+1];  
  111.                     j++;  
  112.  
  113.                     //最後一個不爲空的元素置空  
  114.  
  115.                     dvd.name[j]=null;  
  116.                     dvd.date[j]=null;  
  117.                     System.out.println("刪除《"+dename+"》成功");  
  118.                     break;  
  119.  
  120.                 }  
  121.             }    
  122.         }  
  123.  
  124.     }  
  125.     //編寫方法實現借出DVD  
  126.     public void login(){  
  127.         String sbook;  
  128.         String date;  
  129.         System.out.println("請輸入DVD名稱:");  
  130.         sbook=input.next();  
  131.  
  132.         for(int i=0;i<dvd.name.length;i++){  
  133.             if(dvd.name[i].equalsIgnoreCase(sbook)&&dvd.state[i]=="借出"){  
  134.                 System.out.println("請輸入借出的日期:(年-月-日)");  
  135.  
  136.                 date=input.next();  
  137.                 System.out.println("找到《"+sbook+"》了");  
  138.                 dvd.state[i]="借出";  
  139.                 dvd.date[i]=date;  
  140.                 dvd.count[i]++;  
  141.                 break;  
  142.             }else if(dvd.name[i]==null){  
  143.                 System.out.println("木有找到匹配的");  
  144.                 break;  
  145.             }else if(dvd.state[i]=="可借"&&dvd.name[i].equalsIgnoreCase(sbook)){  
  146.                 System.out.println("找到"+sbook+",但已借出");  
  147.                 break;  
  148.             }  
  149.         }  
  150.  
  151.     }  
  152.     //編寫方法實現歸還  
  153.     public void returnday(){  
  154.         long money = 0;  
  155.         System.out.println("請輸入DVD的名稱:");  
  156.         String DVD=input.next();  
  157.         System.out.println("請輸入歸還日期是:");  
  158.         String date=input.next();  
  159.         for(int i=0;i<dvd.name.length;i++){  
  160.             if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(DVD)){  
  161.                 System.out.println("歸還成功");  
  162.                 dvd.state[i]="可借";   
  163.  
  164.  
  165.                 money=charge(dvd.date[i],date);  
  166.  
  167.                 System.out.println("付款:"+money);   
  168.                 break;  
  169.  
  170.             }else{  
  171.                 System.out.println("你木有借出這本書!");  
  172.                 break;  
  173.             }  
  174.         }  
  175.     }       
  176.     public long charge(String borrow,String date){  
  177.  
  178.         long charge=0;  
  179.         SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");  
  180.  
  181.         try{  
  182.             Date d1=sd.parse(borrow);  
  183.             Date d2=sd.parse(date);  
  184.             charge=(d2.getTime()-d1.getTime())/(24*60*60*1000);  
  185.  
  186.         }catch(ParseException e){  
  187.             e.printStackTrace();  
  188.  
  189.  
  190.         }  
  191.  
  192.  
  193.         return charge;  
  194.  
  195.     }  
  196.  
  197.     //編寫方法實現讀書排行榜  
  198.     public void list(){  
  199.         System.out.println("次數\t\t排行榜");  
  200.         for(int i=0;i<dvd.name.length-1;i++){  
  201.               
  202.             if(dvd.count[i]<dvd.count[i+1]&&dvd.name!=null){  
  203.                   
  204.                 dvd.count[i+1]=dvd.count[i];  
  205.                 dvd.count[i]=dvd.count[i+1];  
  206.                 dvd.count[i]++;  
  207.               
  208.         }  
  209.                   
  210.                 if(dvd.name[i]!=null){  
  211.                 System.out.println(dvd.count[i]+"\t\t"+dvd.name[i]);  
  212.                   
  213.                 }  
  214.             }  
  215.     }  
  216.           
  217.  
  218.  
  219.     }  
  220.  
  221.  
  222.  
  223. public class DVDset {  
  224.      
  225.       
  226.       
  227.     String[] name=new String[50];//DVD的名稱  
  228.     int[] num=new int[60];//DVD的數量  
  229.     String[] date=new String[100];//DVD的借出日期  
  230.     String[] state=new String[100];//DVD的狀態,借出還是可借  
  231.     int count[]=new int[100];//DVD借出的數量  
  232. }  
  233.  
  234.  
  235.  
  236.  
  237.  
  238. import java.util.*;  
  239. public class TestDVD {  
  240. public static void main(String[] args) {  
  241.     DVDmgr mgr=new DVDmgr();//創建對象  
  242.     DVDset dvd=new DVDset();//創建對象  
  243.       
  244.     mgr.dvdinfo();  
  245.       
  246.     mgr.showmainmenu();//顯示主菜單  
  247.       
  248.     int choice;  
  249.     Scanner input=new Scanner(System.in);  
  250.     for(int i=0;i<dvd.name.length;i++){  
  251.     System.out.println("請選擇:");  
  252.     choice=input.nextInt();  
  253.       
  254.     switch (choice){  
  255.     case 1:  
  256.      mgr.addDVD();  
  257.       
  258.      break;  
  259.     case 2:  
  260.     mgr.search();  
  261.      break;  
  262.     case 3:  
  263.         mgr.delete();  
  264.         break;  
  265.     case 4:  
  266.         mgr.login();  
  267.         break;  
  268.     case 5:  
  269.         mgr.returnday();  
  270.           
  271.         break;  
  272.     case 6:  
  273.         mgr.list();  
  274.         break;  
  275.     case 7:  
  276.         System.out.println("謝謝,再見!");  
  277.         break;  
  278.     case 0:  
  279.         mgr.showmainmenu();  
  280.         break;  
  281.     }  
  282.       
  283.         System.out.println("************************");  
  284.          System.out.println("輸入0返回:");  
  285.          choice=input.nextInt();  
  286.          mgr.showmainmenu();//顯示主菜單  
  287.        
  288.       
  289.     }  
  290.       
  291. }  
  292. }  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章