学习过程中写了两版,总结一下收获吧。
大体要求:
有两种身份,分为快递小哥和取快递的人,快递小哥可以存快递,删除快递,修改快递信息,查看当前所有的快递。
原来的思路:(代码被我不小心删了)
存储快递信息,然后取出快递信息,更改快递信息等操作其实一下子就是能想到数组,于是我利用了一个二维数组,模拟快递柜子,里面存放用户输入的快递信息,为了实现快递格子的取件功能,和单号查询功能我再次新建了两个二维数组,然后在给第一个二维数组存信息的时候,给第二第三个数组同步存放单号、取件码。也就是说有三个二维数组,里面分别存了快递信息,取件码,单号,这些数据对应的下标是一致的,但是这种操作的方式会感觉非常麻烦。
修改后的思路:
利用arraylist的set()方法实现快递柜子的空间判断,也实现了取件码取件功能,利用map的key存单号,然后value放那些信息。
附上代码
入口类
public class Main {
private static InputJudge i=new InputJudge();
private static Date d=new Date();
public static void main(String[] args) {
//开始
i.welcome();
//用户身份判断
int menu=i.view();
switch (menu){
case 3:
break;
case 1:
runner();
break;
case 2:
buyer();
break;
}
//结束
i.end();
}
private static void buyer() {
d.finddelivery();
//找数组中有没有这个取件码
}
private static void runner() {
int sight= i.sender();
//快递小哥目标判断
all: while(true){
xun: switch (sight) {
case 1: {
d.adddelivery();
}
case 2: {
//删除快递
delete();
}
case 3: {
//修改
change();
}
case 4: {
//查看当前所有快递
see();
break all;
}
}
}
}
private static void delete(){
int cas =i.delete();
switch (cas){
case 1:{
d.deldelivery();
}
case 2:{
break;
}
}
}
private static void change(){
int cas =i.Reput();
switch (cas){
case 1:{
d.readddelivery();
}
case 2:{
break;
}
}
}
private static void see() {
int cas = i.print();
switch (cas) {
case 1: {
d.print(