- 以下代碼是本人的原創,分別建了三個類,一個是測試類,一個是實現方法類,一個是DVD的屬性類。
- package cho17;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Scanner;
- public class DVDmgr {
- Scanner input=new Scanner(System.in);
- //創建對象
- DVDset dvd=new DVDset();
- //數據的初始化
- public void dvdinfo(){
- dvd.name[0]="羅馬假日";
- dvd.date[0]="2012-07-05";
- dvd.num[0]=50;
- dvd.state[0]="借出";
- dvd.count[0]=30;
- dvd.name[1]="小婦人";
- dvd.date[1]=null;
- dvd.num[1]=33;
- dvd.state[1]="可借";
- dvd.count[1]=23;
- dvd.name[2]="分享年";
- dvd.date[2]=null;
- dvd.num[2]=45;
- dvd.state[2]="可借";
- dvd.count[2]=21;
- }
- //顯示主菜單
- public void showmainmenu(){
- System.out.println("歡迎使用迷你DVD管理器");
- System.out.println("--------------------------------------");
- System.out.println("1.新增DVD");
- System.out.println("2.查看DVD");
- System.out.println("3.刪除DVD");
- System.out.println("4.借出DVD");
- System.out.println("5.歸還DVD");
- System.out.println("6.查看排行榜");
- System.out.println("7.退出DVD");
- System.out.println("------------------------------------------------------------");
- }
- //編寫新增DVD的方法
- public void addDVD(){
- String choice;
- for(int i=0;i<dvd.name.length;i++){
- if(dvd.name[i]==null){
- System.out.println("請輸入增加的DVD名:");
- dvd.name[i]=input.next();
- dvd.state[i]="可借";
- dvd.date[i]=null;
- dvd.num[i]=0;
- System.out.println("繼續嗎(y/n)");
- choice=input.next();
- if(choice.equals("n")){
- System.out.println("添加成功,已實現新增!");
- break;
- }
- }
- }
- }
- //編寫方法實現查看
- public void search(){
- System.out.println("-------------查看DVD");
- System.out.println("序號\t\t狀態\t\t名稱\t\t借出日期");
- for(int i=0;i<dvd.name.length;i++){
- if(dvd.name[i]==null){
- break;
- }else{
- System.out.println((i+1)+"\t\t"+dvd.state[i]+"\t\t"+dvd.name[i]+"\t\t"+dvd.date[i]);
- }
- }
- }
- //編寫方法實現刪除
- public void delete(){
- String dename="";
- System.out.println("------------刪除DVD");
- System.out.println("請輸入要刪除的DVD的名字:");
- dename=input.next();
- for(int i=0;i<dvd.name.length;i++){
- if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(dename)&&
- dvd.state[i]=="可借"){
- int j=i;
- while(dvd.name[j]!=null){
- dvd.name[j]=dvd.name[j+1];
- dvd.date[j]=dvd.date[j+1];
- dvd.num[j]=dvd.num[j+1];
- dvd.state[j]=dvd.state[j+1];
- j++;
- //最後一個不爲空的元素置空
- dvd.name[j]=null;
- dvd.date[j]=null;
- System.out.println("刪除《"+dename+"》成功");
- break;
- }
- }
- }
- }
- //編寫方法實現借出DVD
- public void login(){
- String sbook;
- String date;
- System.out.println("請輸入DVD名稱:");
- sbook=input.next();
- for(int i=0;i<dvd.name.length;i++){
- if(dvd.name[i].equalsIgnoreCase(sbook)&&dvd.state[i]=="借出"){
- System.out.println("請輸入借出的日期:(年-月-日)");
- date=input.next();
- System.out.println("找到《"+sbook+"》了");
- dvd.state[i]="借出";
- dvd.date[i]=date;
- dvd.count[i]++;
- break;
- }else if(dvd.name[i]==null){
- System.out.println("木有找到匹配的");
- break;
- }else if(dvd.state[i]=="可借"&&dvd.name[i].equalsIgnoreCase(sbook)){
- System.out.println("找到"+sbook+",但已借出");
- break;
- }
- }
- }
- //編寫方法實現歸還
- public void returnday(){
- long money = 0;
- System.out.println("請輸入DVD的名稱:");
- String DVD=input.next();
- System.out.println("請輸入歸還日期是:");
- String date=input.next();
- for(int i=0;i<dvd.name.length;i++){
- if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(DVD)){
- System.out.println("歸還成功");
- dvd.state[i]="可借";
- money=charge(dvd.date[i],date);
- System.out.println("付款:"+money);
- break;
- }else{
- System.out.println("你木有借出這本書!");
- break;
- }
- }
- }
- public long charge(String borrow,String date){
- long charge=0;
- SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
- try{
- Date d1=sd.parse(borrow);
- Date d2=sd.parse(date);
- charge=(d2.getTime()-d1.getTime())/(24*60*60*1000);
- }catch(ParseException e){
- e.printStackTrace();
- }
- return charge;
- }
- //編寫方法實現讀書排行榜
- public void list(){
- System.out.println("次數\t\t排行榜");
- for(int i=0;i<dvd.name.length-1;i++){
- if(dvd.count[i]<dvd.count[i+1]&&dvd.name!=null){
- dvd.count[i+1]=dvd.count[i];
- dvd.count[i]=dvd.count[i+1];
- dvd.count[i]++;
- }
- if(dvd.name[i]!=null){
- System.out.println(dvd.count[i]+"\t\t"+dvd.name[i]);
- }
- }
- }
- }
- public class DVDset {
- String[] name=new String[50];//DVD的名稱
- int[] num=new int[60];//DVD的數量
- String[] date=new String[100];//DVD的借出日期
- String[] state=new String[100];//DVD的狀態,借出還是可借
- int count[]=new int[100];//DVD借出的數量
- }
- import java.util.*;
- public class TestDVD {
- public static void main(String[] args) {
- DVDmgr mgr=new DVDmgr();//創建對象
- DVDset dvd=new DVDset();//創建對象
- mgr.dvdinfo();
- mgr.showmainmenu();//顯示主菜單
- int choice;
- Scanner input=new Scanner(System.in);
- for(int i=0;i<dvd.name.length;i++){
- System.out.println("請選擇:");
- choice=input.nextInt();
- switch (choice){
- case 1:
- mgr.addDVD();
- break;
- case 2:
- mgr.search();
- break;
- case 3:
- mgr.delete();
- break;
- case 4:
- mgr.login();
- break;
- case 5:
- mgr.returnday();
- break;
- case 6:
- mgr.list();
- break;
- case 7:
- System.out.println("謝謝,再見!");
- break;
- case 0:
- mgr.showmainmenu();
- break;
- }
- System.out.println("************************");
- System.out.println("輸入0返回:");
- choice=input.nextInt();
- mgr.showmainmenu();//顯示主菜單
- }
- }
- }