使用java程序模拟简易储物箱管理系统

使用java程序模拟简易储物箱管理系统。

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true) {
            showCabinet();   //显示储物柜
            System.out.print("\t您要办理什么业务:");
            int number = sc.nextInt();
            switch (number) {
                case 1:
                    //存包
                    userPut();
                    break;
                case 2:
                    System.out.print("\t请输入你要取的柜子编号:");
                    int userNum = sc.nextInt();
                    if (userNum < 1 || userNum > 24) {  //判断输入的柜子编号是否正确
                        System.out.println("\t输入错误,请重新输入");
                        continue;
                    } else if (cablinet[userNum - 1] == 0) {    //判断该柜子是否为空 == 0
                        System.out.println("\t该储物柜是空的,没有你的物品");
                        break;
                    }
                    System.out.print("\t请输入取包密码:");
                    int password = sc.nextInt();
                    //取包
                    userGetCabinet(userNum, password);
                    break;
                case 0:
                    //退出
                    System.out.println("\t欢迎下次再来");
                    break;
                default:
                    //输入错误
                    System.out.println("\t输入错误,请重新输入");
            }
        }
    }

    //用户取包的方法                       userNum柜子编号  password密码
    public static void userGetCabinet(int userNum, int password) {
        if (userNum < 1 || userNum > 24) {
            System.out.println("\t输入错误,请重新输入");
            return;
        }
        if (cablinet[userNum - 1] == password) { //密码正确
            cablinet[userNum - 1] = 0; //清空柜子
            System.out.println("\t取包成功,请取走您的包,欢迎下次再来");
        } else {
            //密码错误
            System.out.println("\t密码错误,请重新输入");
        }
    }

    //用户存包的方法
    public static void userPut() {
        boolean flag = false; //判断是否本柜已满
        Scanner sc = new Scanner(System.in);
        //判断存放的是否为空柜子
        for (int i = 0; i < cablinet.length; i++) {
            if (cablinet[i] == 0) {
                //请选择你要存储的储物柜
                System.out.print("\t请选择你要存储的储物柜:");
                //0-23个柜子
                int userCabinet = sc.nextInt() - 1;
                if (userCabinet < 0 || userCabinet > 23) {  //0-23
                    System.out.println("\t输入错误,请重新输入");
                    continue;
                } else if (cablinet[userCabinet] != 0) {
                    System.out.println("\t你选择储物柜已有物品,请选择其他编号");
                    i--;   //循环次数-1,重新开始
                    continue;
                }
                //随机生成一个5位数字的密码
                int password = (int) (Math.random() * 90000 + 10000); //10000-99999
                System.out.println("\t您使用的是" + (userCabinet + 1) + "号储物柜,密码是:" + password);
                cablinet[userCabinet] = password;  //修改的地方
                flag = true; //标记柜子已存储
                break;
            }
        }
        if (flag == false) {
            System.out.println("\t储物柜已满,无法再存包");
        }
    }

    //储物柜个数(全局)默认全为 0
    public static int[] cablinet = new int[24];

    //储物柜展示
    public static void showCabinet() {
        System.out.println("\t\t\t\t\t\t\t\t\t欢迎进入储物箱管理系统");
        //一行显示12个储物柜
        for (int i = 0; i < cablinet.length / 2; i++) {
            //0为空
            if (cablinet[i] == 0) {
                System.out.print("\t□\t");
            } else {
                System.out.print("\t■\t");
            }
        }
        System.out.println(); //换行
        for (int i = 0; i < cablinet.length / 2; i++) {
            System.out.print("\t" + (i + 1) + "\t");
        }
        System.out.println();
        for (int i = 12; i < cablinet.length; i++) {
            //0为空
            if (cablinet[i] == 0) {
                System.out.print("\t□\t");
            } else {
                System.out.print("\t■\t");
            }
        }
        System.out.println(); //换行
        for (int i = 12; i < cablinet.length; i++) {
            System.out.print("\t" + (i + 1) + "\t");
        }
        System.out.println("\n\t1.存包" + "\t2.取包" + "\t0.退出");
    }

储物箱展示

储物箱存储功能

储物箱取出功能

当储物箱没有物品时,告知用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值