为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 java基础阶段小项目-dvd迷你管理器

java基础阶段小项目-dvd迷你管理器

2016.12.19 09:27 2447浏览
package dvdDemo;

import java.util.Scanner;
public class DVD {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int i;//下标
        int j;//删除时寻找到的下标
        int choice = -1;//选择
        String bookname;//接收输入的书名
        int day1;//接收输入的借出日期
        int day2;//接收输入的归还日期
        boolean end = false;//判断总循环是退出还是返回
        boolean dd = false;//判断借出日期是否符合条件
        //添加四个数组
        int[] num = new int[7];//序号
        String[] state = new String[7];//状态(可借或已借出)
        String[] name = new String[7];//书名
        int [] date = new int[7];//借出日期
        int[] count = new int[7];//借出次数
        //为数组赋值
        num[0]=1;num[1]=2;num[2]=3;
        state[0]="已借出";state[1]="可借";state[2]="可借";
        name[0]="《罗马假日》";name[1]="《风声鹤唳》";name[2]="《浪漫满屋》";
        date[0]=1;date[1]=0;date[2]=0;
        count[0]=15;count[1]=12;count[2]=30;

        //主程序
        Main:do{
            end = false;//重新赋值为false
            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.print("请选择:");
            choice = input.nextInt();
            switch(choice){
            case 1:
                System.out.println("---> 新增DVD\n");//增加功能
                for(i=0;i<num.length-1;i++){
                    if(num[i]!=0){
                        continue;
                    }
                    if(i<num.length-1){
                        System.out.println("请输入DVD名称:");
                        name[i] = input.next();
                        num[i]=i+1;
                        state[i]="可借";
                        name[i]="《"+name[i]+"》";
                        date[i]=0;
                        count[i]=0;
                        System.out.println("新增"+name[i]+"成功!");
                        break;
                    }
                }
                if(i==6){
                    System.out.println("内存已满,无法添加!");
                }
                break;

            case 2:
                System.out.println("---> 查看DVD\n");
                //查看DVD借阅状态
                System.out.println("序号"+"\t"+"状态"+"\t"+"名称"+"\t\t"+"借出日期"+"\t"+"借出次数");
                for(i=0;i<num.length;i++){
                    if(num[i]!=0){
                        if(state[i].equals("可借")){
                            date[i]=0;
                        }
                        System.out.println(num[i]+"\t"+state[i]+"\t"+name[i]+"\t\t"+date[i]+"日\t"+count[i]+"次");
                    }
                }
                break;

            case 3:
                System.out.println("---> 删除DVD\n");
                System.out.print("请输入DVD名称:");
                bookname = input.next();
                bookname = "《"+bookname+"》";
                for(i=0;i<num.length-1;i++){
                    if(bookname.equals(name[i])){
                        break;
                    }
                }

                if(i==6){
                    System.out.println("没有找到匹配信息!");
                    break Main;
                }

                if("已借出".equals(state[i])){
                    System.out.println("该DVD已借出,无法删除!");
                }else{
                    for(j=i+1;j<num.length;j++){
                        if(num[j]!=0){
                            num[j-1]=num[j]-1;
                            state[j-1]=state[j];
                            name[j-1]=name[j];
                            date[j-1]=date[j];
                            count[j-1]=count[j];
                        }else{
                            num[j-1]=0;
                            state[j-1]="";
                            name[j-1]="";
                            date[j-1]=0;
                            count[j-1]=0;
                        }
                    }
                    System.out.println("删除"+"《"+bookname+"》"+"成功!");
                }
                break;

            case 4:
                System.out.println("---> 借出DVD\n");
                System.out.print("请输入DVD名称:");
                bookname = input.next();
                bookname = "《"+bookname+"》";
                for(i=0;i<num.length-1;i++){
                    if(bookname.equals(name[i])){
                        break;
                    }
                }

                if(i==6){
                    System.out.println("没有找到匹配信息!");
                    break Main;
                }

                if("已借出".equals(state[i])){
                    System.out.println("该DVD已被借出");
                }else{
                    System.out.println("温馨提示:所有书籍只限当月借当月还!谢谢合作!(租金:一天1元)");
                    System.out.print("请输入借出日期:");
                    day1 = input.nextInt();
                    do{
                        dd = false;
                        if(day1>31 || day1 <1){
                            System.out.println("必须输入大于等于1且小于等于31的数字,请重新输入:");
                            day1 = input.nextInt();
                            dd = true;
                        }else{
                            state[i]="已借出";
                            date[i]=day1;
                            count[i]+=1;
                        }
                    }while(dd);
                    System.out.println("借出"+"《"+bookname+"》"+"成功!");
                }
                break;

            case 5:
                System.out.println("---> 归还DVD\n");
                System.out.print("请输入DVD名称:");
                bookname = input.next();
                bookname = "《"+bookname+"》";
                for(i=0;i<num.length-1;i++){
                    if(bookname.equals(name[i])){
                        break;
                    }
                }

                if(i==6){
                    System.out.println("没有找到匹配信息!");
                    break Main;
                }

                if("可借".equals(state[i])){
                    System.out.println("该DVD没有被借出!无法进行归还操作");
                }else{
                    System.out.print("请输入归还日期:");
                    day2 = input.nextInt();
                    do{
                        dd = false;
                        if(day2 <1){
                            System.out.println("归还日期不能小于借出日期,请重新输入:");
                            day2 = input.nextInt();
                            dd = true;
                        }else if(day2<31){
                            System.out.println("归还"+"《"+bookname+"》"+"成功!");
                            System.out.println("借出日期为:"+date[i]);
                            System.out.println("归还日期为:"+day2);
                            System.out.println("应付租金(元):"+(day2-date[i]));
                            state[i]="可借";
                            date[i]=0;
                        }else{
                            System.out.println("一个月只有31天,请重新输入:");
                            day2 = input.nextInt();
                            dd = true;
                        }
                    }while(dd);

                }
                break;

            case 6:
                System.out.println("---> 退出DVD\n程序结束!感谢您的使用!");
                break Main;

            default:
                System.out.println("输入有误!");
                break;
            }
            System.out.println("********************");
            System.out.println("输入0返回");
            choice = input.nextInt();
            if(choice == 0){
                end = true;
            }
        }while(end);
    }

}
点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
1
获赞与收藏
5

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

152篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消