zoukankan      html  css  js  c++  java
  • 2.迷你DVD管理系统

    import java.util.*;
    
    public class MyDVDMgr {
        public static void main(String[] args){
            Scanner input=new Scanner(System.in);
            //是否退出系统,false代表退出系统
            boolean flag=true;
            //DVD相关信息,最多只能存储6个DVD信息
            String[] name=new String[6]; //DVD名称
            int[] state=new int[6]; //借阅状态,0:可借阅 ;1:已借出
            int[] date=new int[6];  //借出日期
            int[] count=new int[6]; //借出次数
            
            /*
             * 初始化三个DVD
             * */
            name[0]="罗马假日";
            state[0]=1;
            date[0]=1;
            count[0]=15;
            
            name[1]="风声鹤唳";
            state[1]=0;
            count[1]=12;
            
            name[2]="浪漫满屋";
            state[2]=0;
            count[2]=30;
            
            int num=-1;
            //循环操作
            do{
                //输出欢迎菜单
                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.退出DVD");
                System.out.println("-------------------------");
                System.out.println("请选择:");
                int choose=input.nextInt();
                switch(choose){
                    case 1:
                        //新增DVD
                        System.out.println("-->新增DVD
    ");
                        System.out.println("请输入DVD名称:");
                        String dvdName=input.next();
                        boolean flag2=false;
                        for(int i=0;i<name.length;i++){
                            if(name[i]==null){
                                name[i]=dvdName;
                                System.out.println("新增《"+dvdName+"》成功!");
                                flag2=true;
                                break;
                            }
                        }
                        if(!flag2){
                            System.out.println("抱歉,新增《"+dvdName+"》失败!货架已满!");
                        }
                        System.out.println("*****************************************");
                        break;
                    case 2:
                        //查看DVD
                        System.out.println("-->查看DVD
    ");
                        System.out.println("序号	状态	名称	借出日期	借出次数");
                        for(int i=0;i<name.length;i++){
                            if(name[i]!=null){
                                String dvdState=(state[i]==0)?"可借阅":"已借出";
                                String dateStr=(date[i]==0)?"":(date[i]+"日");
                                System.out.println((i+1)+"	"+dvdState+"	"+name[i]+"	"+dateStr+"	"+count[i]+"次");
                            }
                        }
                        System.out.println("*****************************************");
                        break;
                    case 3:
                        //删除DVD
                        System.out.println("-->删除DVD
    ");
                        System.out.println("请输入要删除DVD的名称:");
                        String delete=input.next();
                        boolean flag3=false;
                        int index=-1;  //记录要删除DVD的位置
                        for(int i=0;i<name.length;i++){
                            if(name[i]!=null && delete.equals(name[i]) && state[i]==0){
                                flag3=true;
                                index=i;
                                System.out.println("DVD删除成功!");
                                break;
                            }else if(name[i]!=null && delete.equals(name[i]) && state[i]==1){
                                flag3=true;
                                System.out.println("该DVD已被借出,目前无法删除!");
                                break;
                            }
                        }
                        //根据记录下来的删除DVD的位置进行删除工作
                        if(index!=-1){
                            for(int j=index;j<name.length;j++){
                                if(j!=name.length-1){
                                    name[j]=name[j+1];
                                    state[j]=state[j+1];
                                    date[j]=date[j+1];
                                }
                                name[name.length-1]=null;
                                
                            }
                        }
                        if(!flag3){
                            System.out.println("没有找到匹配信息!");
                        }
                        System.out.println("*****************************************");
                        break;
                    case 4:
                        //借出DVD
                        System.out.println("-->借出DVD
    ");
                        System.out.print("请输入DVD名称:");
                        String want=input.next();  //要借出的DVD名称
                        for(int i=0;i<name.length;i++){
                            if(name[i]==null){  //无匹配
                                System.out.println("没有找到匹配信息!");
                                break;
                            }else if(want.equals(name[i]) && state[i]==0){  //找到匹配可借
                                state[i]=1; //将此DVD置于借出状态
                                System.out.print("请输入借出日期:");
                                date[i]=input.nextInt();
                                while(date[i]<1 || date[i]>31){  //当输入借出的日期不满足1-31时
                                    System.out.println("必须输入大于等于1且小于等于31的数字,请重新输入:");
                                    date[i]=input.nextInt();
                                }
                                System.out.println("借出《"+want+"》成功!");
                                count[i]++;
                                break;
                            }else if(want.equals(name[i]) && state[i]==1){  //找到匹配已被借出
                                System.out.println("《"+want+"》已被借出!");
                                break;
                            }
                        }
                        System.out.println("*****************************************");
                        break;
                    case 5:
                        //归还DVD
                        System.out.println("-->归还DVD
    ");
                        int charge=0;  //租金
                        System.out.print("请输入归还DVD名称:");
                        want=input.next();
                        for(int i=0;i<name.length;i++){
                            if(name[i]==null){ //无匹配
                                System.out.println("没有找到匹配信息!");
                                break;
                            }else if(want.equals(name[i]) && state[i]==1){//找到匹配
                                state[i]=0;  //将借阅状态修改为可借阅
                                System.out.print("请输入归还日期:");
                                int redate=input.nextInt();
                                while(redate<date[i] || redate>31){  //归还日期不能小于借出日期,也不能大于31
                                    if(redate<date[i]){
                                        System.out.println("归还日期不能小于借出日期,请重新输入:");
                                    }else{
                                        System.out.println("一个月只有31天,请重新输入:");
                                    }
                                    redate=input.nextInt();
                                }
                                charge=redate-date[i];
                                System.out.println("
    归还《"+want+"》成功!");
                                System.out.println("借出日期为:"+date[i]+"日");
                                System.out.println("归还日期为:"+redate+"日");
                                System.out.println("应付租金(元):"+charge);
                                break;
                            }else if(want.equals(name[i]) && state[i]==0){//找到匹配但没有借出
                                System.out.println("该DVD没有被借出!无法进行归还操作。");
                                break;
                            }
                        }
                        System.out.println("*****************************************");
                        break;
                    case 6:
                        //退出DVD
                        flag=false;
                        break;
                    default:
                        flag=false;
                        break;
                }
                if(flag){
                    System.out.println("输入0返回:");
                    num=input.nextInt();
                }else{
                    break;
                }
            }while(num==0);
            System.out.println("谢谢使用!");
        }
    }
  • 相关阅读:
    java Future模式的使用
    Objects源码解析
    VUE优秀的组件库总结
    数据库的一致性读,赃读,多线程与赃读,ACID,UNDO
    线程基础,多线程架构,高并发,线程安全基础知识
    程序员必备的开发利器
    spring security 实现登录验证码及记住我
    springboot 集成 spring security 自定义登录
    ELK整合SpringBoot日志收集
    ElasticSearch整合SpringBoot的API操作
  • 原文地址:https://www.cnblogs.com/xiaotaoxu/p/5536392.html
Copyright © 2011-2022 走看看