一个DVD的小代码

来源:互联网 发布:硬笔字 知乎 编辑:程序博客网 时间:2024/04/28 19:45

之前发的一个小代码,忘了写注释,就又把他删了

题目要求:DVD主界面

                              0:DVD排行榜

                              1:新增DVD

                              2:查看DVD

                              3:删除DVD

                              4:借出DVD

                              5:归还DVD

                              6:退出

//导包

import java.util.*;

import java.text.*;

//创建DVD类

class DVDSet{

    //定义DVD名称数组

    String[] name= new String[50];

    //定义一个int数组,用0或1来表示(借出/可借)

    int[] state = new int[50];

   //定义借出日期数组

    String[] date = new String[50];

   //借出次数数组

    int[] count=new int[50];

   //创建键盘录入对象

    Scanner sc=new Scanner(System.in);

   //新增DVD项的方法

    public void newDVD(){
        for(int a =0;a<name.length;a++){
            if(name[a]==null){
                System.out.print("请输入DVD名称:");
                name[a]=sc.next();
                System.out.println("新增《"+name[a]+"》成功");
                state[a]=1;
                System.out.println("******************");
                break;
            }
        }

    }

    //查看DVD项的方法

    public void seeDVD(){
        System.out.println("序号\t状态\t   名称\t\t借出日期");
        for(int a=0;name[a]!=null;a++){
            System.out.print(a+1+"\t");
            if(state[a]==0){
                System.out.print("已借出\t");
            }else{
                System.out.print("可借 \t");
            }System.out.print("《"+name[a]+"》\t");
            if(date[a]==null){
                System.out.print(" \n");
            }else{
                System.out.print(date[a]+"\n");
            }
        }

    }

    //删除DVD项的方法

    public void delDVD(){
        System.out.print("请输入DVD名称:");
        String name1=sc.next();
        for(int i = 0 ; i <name.length; i++){
            if(name[i]!=null &&name[i].equalsIgnoreCase(name1)&&state[i]==1){
                int j=i;
                while(name[j+1]!=null){
                    name[j]=name[j+1];
                    state[j]=state[j+1];
                    date[j]=date[j+1];
                    j++;
                }
                name[j]=null;
                System.out.println("删除《"+name1+"》成功!");
                break;
            }else if(name[i]!=null &&name[i].equalsIgnoreCase(name1)&&state[i]==0){
                System.out.println("《"+name1+"》为借出状态,不能删除!");
                break;
            }else{
                System.out.println("输入错误,请返回上一层");
                return;
            }
        }

    }

    //借出DVD项的方法

    public void loanDVD(){
        System.out.print("请输入DVD名称:");
        String name2=sc.next();
        boolean flag=false;
        for(int i = 0 ; i <name.length; i++){
            if(name[i]!=null &&name[i].equalsIgnoreCase(name2)&&state[i]==1){
                System.out.print("请输入借出日期(年-月-日):");
                date[i]=sc.next();
                state[i]=0;
                count[i]++;
                flag=false;
                break;
            }else if(name[i]!=null &&name[i].equalsIgnoreCase(name2)&&state[i]==0){
                System.out.println("《"+name2+"》已借出");
                flag=false;
                break;
            }else{
                flag=true;
            }
        }
        if(flag){
            System.out.println("不好意思,没有此DVD");
        }

    }

    //归还DVD并计算好应付金额的方法

    public void sendDVD(){
        System.out.print("请输入DVD名称:");
        String name3=sc.next();
        String date1="";
        int a=0;
        boolean flag=false;
        for(int i = 0 ; i <name.length; i++){
            if(name[i]!=null &&name[i].equalsIgnoreCase(name3)&&state[i]==0){
                System.out.print("请输入归还日期(年-月-日):");
                date1=sc.next();
                state[i]=1;
                a=i;
                flag=false;
                break;
            }else if(name[i]!=null &&name[i].equalsIgnoreCase(name3)&&state[i]==1){
                System.out.println("孩子,一定要多喝六个核桃");
                flag=false;
                break;
            }else{
                flag=true;
            }
        }
        if(flag){
            System.out.println("智障,不想理你,快滚");
        }
        long charge=0;
        SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date d1=sd.parse(date[a]);
            Date d2=sd.parse(date1);
            charge=(d2.getTime()-d1.getTime())/(24*60*60*1000);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        date[a]="";
        System.out.print("应付租金(元)"+charge+"\n");
    }
    public void list(){
        String[] listName=name;
        for(int i=0;i<name.length;i++){
            for(int a=i+1;a<name.length;a++){
                if(name[i]!=null){
                    if(count[i]<count[a]){
                        int temp=count[i];
                        count[i]=count[a];
                        count[a]=temp;
                        String temp1=listName[i];
                        listName[i]=listName[a];
                        listName[a]=temp1;
                    }
                }
            }
        }
        System.out.println("次数"+"\t"+"名称");
        for(int i=0;i<name.length;i++){
            if(count[i]!=0){
                System.out.println(count[i]+"\t"+"<<"+listName[i]+">>");
            }
        }
    }

}

//创建DVD管家类

class DVDMgr{

    //创建DVD类的对象

    DVDSet dvd = new DVDSet();
    public void initial(){
        dvd.name[0]= "罗马假日";
        dvd.state[0]=0;
        dvd.date[0]= "2012-2-1";
        dvd.count[0]=1;
        dvd.name[1]="风声鹤唳";
        dvd.state[1]=1;
        dvd.name[2]= "浪漫满屋";
        dvd.state[2]=1;

    }

    //开始菜单方法

    public void startMenu(){
        System.out.println("欢迎使用迷你DVD管理器");
        System.out.println("-------------------------");
        System.out.println("0.借出排行榜\n1.新增 DVD\n2.查看 DVD\n3.删除 DVD");
        System.out.println("4.借出 DVD\n5.归还 DVD\n6.退    出");
        System.out.println("-------------------------");
        System.out.print("请选择:");
        Scanner sc=new Scanner(System.in);
        switch(sc.nextInt()){
            case 0:
                dvd.list();
                returnMain();
                break;
            case 1:
                dvd.newDVD();
                returnMain();
                break;
            case 2:
                dvd.seeDVD();
                returnMain();
                break;
            case 3:
                dvd.delDVD();
                returnMain();
                break;
            case 4:
                dvd.loanDVD();
                returnMain();
                break;
            case 5:
                dvd.sendDVD();
                returnMain();
                break;
            case 6:
                return;
            default:
                System.out.println("输入有误,异常终止");
                return;
        }

    }

    //返回菜单方法

    public void returnMain(){
        Scanner sc = new Scanner(System.in);
        System.out.print("输入 0 返回");
        if(sc.nextInt()==0){
            startMenu();
        }else{
            System.out.println("输入错误,异常终止!");
            return;
        }
    }

}

//创建测试类

class Start1{

    public static void main(String[] args){

        //创建管家类的对象

        DVDMgr dm = new DVDMgr();
        dm.initial();
        dm.startMenu();
    }
}

0 0
原创粉丝点击