1、 分支结构
2、 数组
二、源码解析
第一步,先创建三个数组:快递单号、快递公司名称、取件码
// 创建快递信息存储数组(假定存储有3个快递)
// 快递单号
String[] ordersId = new String[3];
// 快递公司名称
String[] names = new String[3];
// 取件码
int[] codes = new int[3];
第二步,对两个选择操作分别使用两个switch语句
其中,第一个switch(num){}
是对 快递员 和 用户 这两者的选择
System.out.println("\n请输入您的身份信息: 1-快递员 2-用户");
int num = sc.nextInt();
switch(num) {
case 1: // 表示这是快递员在操作
System.out.println("请选择操作: A-存快递 B-删除快递 C-修改快递信息 D-查看所有快递信息");
String num2 = sc.next();
switch(num2){
//此处A,B,C,D为简写,详细代码在下文
case "A":
case "B":
case "C":
case "D":
}
break;
case 2: // 表示这是用户在操作
System.out.println("请输入取件码:");
int code1 = sc.nextInt();
int index4 = -1;
// 寻找匹配的取件码
for(int i= 0;i<ordersId.length;i++) {
if(codes[i] !=0 && codes[i] == code1) {
index4 = i;
break;
}
}
if(index4 == -1) {
System.out.println("未找到该快递");
}else {
// 取快递
ordersId[index4] = null;
// 这两个可删可不删
names[index4] = null;
codes[index4] = 0;
System.out.println("您已取件成功!");
}
break;
}
第二个语句 switch(num2){}
是对快递员的四个操作进行选择,分别是:
A- 存快递 :
case "A": // 存快递
// 遍历数组查找是否还有空位置,进行添加
int index = -1; // 该变量用来判断快递柜是否存满
for(int i = 0 ; i < ordersId.length; i++) {
if(ordersId[i] == null) {
index = i;
break;//遇到一个就跳出循环
}
}
// 判断快递柜是否存满,并进行相关操作
if(index == -1) {
System.out.println("快递柜已满,无法继续存入");
}else {
// 如果有空位置 ,则存入以下数据:
// index 可以换成 i
// 录入单号
System.out.println("请输入快递单号:");
String number = sc.next();
ordersId[index] = number;
// 录入公司名称
System.out.println("请输入公司名称:");
String company = sc.next();
names[index] = company;
// 随机生成 1-1000的取件码 ,其中 Math.random()\*1000 表示0-999个数据
int code = (int)( Math.random()\*1000) +1;
codes[index] = code;
System.out.println("此快递已经存入,取件码是: "+ code);
}
break;
B- 删除快递:
case"B"://删除快递
System.out.println("请输入要删除的快递单号:");
Stringnumber2=sc.next();
intindex1=-1;//该变量用来判断是否匹配到对应快递单号
for(inti=0;i<ordersId.length;i++){
if(ordersId[i].equals(number2)){
index1=i;
break;//匹配到就直接跳出循环
}
}
//判断是否匹配到快递单号,并进行相关操作
if(index1==-1){
System.out.println("该快递单号不存在!");
}else{
//清空数组中对应的值
ordersId[index1]=null;
//这两个可删可不删,因为前面都是依据ordersId是否为null判断
names[index1]=null;
codes[index1]=0;
System.out.println("已删除该快递单号");
}
break;
C- 修改快递信息操作:
case"C"://修改快递信息
System.out.println("请输入要修改的快递单号:");
Stringnumber3=sc.next();
intindex2=-1;//该变量用来判断是否匹配到对应快递单号
### 最后
小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析


虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!