JAVA基础代码分享--DVD管理

问题描述

为某音像店开发一个迷你DVD管理器,最多可存6DVD,实现碟片的管理。

管理器具备的功能主要有:

  1、查看DVD信息。

  菜单选择查看功能,展示DVD的信息。

 

  2、新增DVD信息

 

  选择新增功能,根据提示输入新增的DVD名称,添加到库存,如果DVD货架已满,即达到6张,则提示增加失败。

 

  3、删除DVD信息

 

  执行删除命令,输入要删除的DVD的名称,如果DVD为借出状态,不允许删除。如果没有该DVD信息,则提示“没有找到匹配信息”;

 

  4、借出DVD

 

  如果该DVD已经被借出,则系统提示“XX已经被借出”。如果没有找到该DVD信息,则系统提示“没有找到匹配信息!”。而且一个月默认为31天,如果输入的借出日期为大于31的数字,则系统给出提示“必须输入大于等于 1且小于等于31的数字,请重新输入”。

 

  5、归还DVD

 

  计算租金,11元。如果归还的DVD未被借出,则系统提示“该DVD没有被借出,无法进行归还操作。如果归还的DVD与列表中的DVD不匹配,则系统提示“没有找到匹配信息”。,如果归还时间小于借出时间,或者是大于31的数字,则系统分别提示“归还日期不能小于借出日期,请重新输入,和一个月只有31天,请重新输入。”

 

  6、当用户执行退出命令时,结束本程序。

代码分享

 

 

public class ManagerDVD {
    private static String [][] dvdstr = new String[6][5];
    private static int n = 0;//用户输入的操作命令
    private static Scanner in;//数字输入
    private static Scanner input;//汉字输入
    private static String name = null;//DVD名字
    
    public static void main(String[] args) {
        System.out.println("--------------------欢迎使用DVD管理系统--------------------");
        System.out.println("系统的操作命令:\n1、添加DVD\n2、删除DVD\n3、查看DVD\n4、借出DVD\n5、归还DVD\n0、注销退出");
        in = new Scanner(System.in);
        for(int i=0; i<6; i++){
            dvdstr[i][0] = ""+(i+1);
            dvdstr[i][4] = "0";
        }
        do {
            System.out.print("请输入操作命令:");
            n = in.nextInt();
            if(n!=0){
                setManager(n);
            }
        } while (n!=0);
    }

    private static void setManager(int n) {
        switch (n) {
        case 1:
            System.out.println("添加DVD");
            if(dvdstr[5][2]!=null){
                System.out.println("DVD库存已满,无法添加");
                break;
            }
            System.out.print("请输入DVD名字:");
            input = new Scanner(System.in);
            name = input.nextLine();
            boolean boo = true;
            for(int i=0; i<6; i++){
                if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){
                    boo = false;
                    break;
                }
            }
            if(boo){
                for(int i=0; i<6; i++){
                    if(dvdstr[i][2]==null){
                        dvdstr[i][1] = "未借出";
                        dvdstr[i][2] = name;
                        System.out.println("添加操作完成");
                        break;
                    }
                }
            }else{
                System.out.println("该DVD已存在");
            }
            break;
        case 2:
            System.out.println("删除DVD");
            if(dvdstr[0][2]==null){
                System.out.println("库存还没有DVD,无法进行删除操作");
                break;
            }
            System.out.print("请输入DVD名字:");
            input = new Scanner(System.in);
            name = input.nextLine();
            boolean bo = false;
            for(int i=0; i<6; i++){
                if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){
                    for(int j=i; j<5; j++){
                        dvdstr[j][1] = dvdstr[j+1][1];
                        dvdstr[j][2] = dvdstr[j+1][2];
                        dvdstr[j][3] = dvdstr[j+1][3];
                        dvdstr[j][4] = dvdstr[j+1][4];
                    }
                    dvdstr[5][1] = null;
                    dvdstr[5][2] = null;
                    dvdstr[5][3] = null;
                    dvdstr[5][4] = null;
                    bo = true;
                    break;
                }
            }
            if(bo){
                System.out.println("删除操作成功");
            }else{
                System.out.println("未找到该商品");
            }
            break;
        case 3:
            System.out.println("查看DVD");
            System.out.println("序号\t状态\t名称\t\t借出日期\t借出次数");
            for(int i=0; i<6; i++){
                if(dvdstr[i][2]==null){
                    break;
                }
                System.out.println(dvdstr[i][0]+"\t"+dvdstr[i][1]+"\t"+dvdstr[i][2]+"\t\t"+dvdstr[i][3]+"\t"+dvdstr[i][4]);
            }
            break;
        case 4:
            System.out.println("借出DVD");
            if(dvdstr[0][2]==null){
                System.out.println("库存还没有DVD,无法进行借出操作");
                break;
            }
            System.out.print("请输入DVD的名字:");
            name = input.nextLine();
            boolean b = false;
            for(int i=0; i<6; i++){
                if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){
                    if("未借出".equals(dvdstr[i][1])) {
                        System.out.print("请输入借出日期:");
                        int date = 0;
                        do {
                            date = in.nextInt();
                        } while (date>31&&date<=0);
                        dvdstr[i][1] = "已借出";
                        dvdstr[i][3] = ""+date;
                        dvdstr[i][4] = ""+(Integer.parseInt(dvdstr[i][4])+1);
                        System.out.println("借出操作完成");
                    }else{
                        System.out.println("该DVD已被借出");
                    }
                    b = true;
                    break;
                }
            }
            if(!b){
                System.out.println("该DVD不存在");
            }
            break;
        case 5:
            System.out.println("归还DVD");
            if(dvdstr[0][2]==null){
                System.out.println("库存还没有DVD,无法进行归还操作");
                break;
            }
            System.out.print("请输入DVD的名字:");
            name = input.nextLine();
            boolean flag = false;
            for(int i=0; i<6; i++){
                if(dvdstr[i][2]!=null&&name.equals(dvdstr[i][2])){
                    if("已借出".equals(dvdstr[i][1])) {
                        System.out.print("请输入归还日期:");
                        int date = 0;
                        int lend = Integer.parseInt(dvdstr[i][3]);
                        do {
                            date = in.nextInt();
                        } while (date>31&&date<=0&&date>=lend);
                        dvdstr[i][1] = "未借出";
                        dvdstr[i][3] = null;
                        System.out.println("归还操作完成");
                        System.out.println("借出日期:"+lend);
                        System.out.println("归还日期:"+date);
                        System.out.println("您一共需要支付租金:"+((date-lend)*5)+"元");
                    }else{
                        System.out.println("该DVD已被借出");
                    }
                    flag = true;
                    break;
                }
            }
            if(!flag){
                System.out.println("该DVD不存在");
            }
            break;

        default:
            System.out.println("您输入的命令不合法!");
            break;
        }
    }

}
posted @ 2015-11-27 11:28  小破孩123  阅读(608)  评论(0编辑  收藏  举报