今天的任务,是完成快递 E 栈(控制台简易版)系统。 经过了变量,流程控制,数组三部分的学习,让我们通过一个小项目来巩 固这些技能点吧!可不要小看我们之前学习的这些内容,现在我们足以通过这 些知识点完成一版简易的,基于控制台版本的快递 E 栈,在完成的过程中,大 家既要掌握知识的应用,也要学习里面的业务逻辑,为我们之后更大的快递 E 栈系统实现做准备。
1. 角色切换(快递员和普通用户) 快递员功能:存快递,删除快递,修改快递,查看所有快递 普通用户功能:取快递
package Object;
import java.util.Scanner;
public class javaEE_驿站 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] num = new int[10];
String[] company = new String[10];
int[] code = new int[10];
while (true){
System.out.println("请选择你的身份:1.用户 2.快递员");
int s = input.nextInt();
if (s==1){
System.out.println("请输入取件码:");
int code2 = input.nextInt();
for (int i = 0; i < code.length; i++) {
if (code[i]==code2){
code[i]=0;
company[i]=null;
num[i]=0;
System.out.println("取件成功");
break;
}else {
System.out.println("未找到快递");
break;
}
}
} else if (s == 2) {
System.out.println("请选择操作:1-存快递 2-删除快递 3-修改快递信息 4-查看所有快递 5-退出");
int tmp = input.nextInt();
p:switch (tmp){
case 1:
//存快递
System.out.println("请输入要存入的快递单号");
int num1 = input.nextInt();
System.out.println("请输入要存入的快递公司");
String company1 = input.next();
int v = (int) (Math.random() * 9999 + 1);
for (int i = 0; i < num.length; i++) {
if (num[i]==0){
num[i]=num1;
company[i]=company1;
code[i]=v;
System.out.println("存入成功;取件码为:"+code[i]);
break p;
}
}
case 2:
//删除快递
System.out.println("请输入要删除的快递单号");
int num2 = input.nextInt();
for (int i = 0; i < num.length; i++) {
if (num[i]==num2){
num[i]=0;
code[i]=0;
company[i]=null;
System.out.println("删除成功");
break p;
}else {
System.out.println("输入错误");
break;
}
}
case 3:
//修改快递信息
System.out.println("请输入要修改的快递单号");
int num3 = input.nextInt();
for (int i = 0; i < num.length; i++) {
if (num[i] == num3) {
System.out.println("请输入新的快递单号");
int num4 = input.nextInt();
System.out.println("请输入新的快递公司");
String company2 = input.next();
for (int j = 0; j < num.length; j++) {
num[i]=num4;
company[i]=company2;
System.out.println("修改成功");
break p;
}
}else {
System.out.println("未找到快递");
break;
}
}
case 4:
//查看所有快递
for (int i = 0; i < num.length; i++) {
if (num[i]==0){
System.out.println("快递柜为空");
}else {
System.out.println("所有信息如下:");
for (int j = 0; j < num.length; j++) {
System.out.println("快递单号:"+num[i]);
System.out.println("公司名称:"+company[i]);
System.out.println("取件码:"+code[i]);
}
}
break p;
}
case 5:
//退出
break p;
}
}else{
System.out.println("输入错误");
}
}
}
}
注释有点少,我直接写出来了