使用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.退出");
}
储物箱展示
储物箱存储功能

储物箱取出功能

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