import java.util.Random; import java.util.Scanner;
public class Task_101010008_Express { ?? ?public static Scanner input=new Scanner(System.in); ?? ?public static String[] numArr=new String[100];//快递单号 ?? ?public static String[] gongsiArr=new String[100];//快递公司 ?? ?public static int[] qujianArr=new int[100];//取件码 ?? ?public static int index=0;//快递柜中有多少快递 ?? ?public static Random random=new Random(); ?? ?public static void main(String[] args) { ?? ??? ?//菜单 ?? ??? ?while(true) { ?? ??? ?int id=startMenu(); ?? ??? ?if(id==0) ?? ??? ??? ?return; ?? ??? ?} ? ? } ?? ? ?? ?/** ?? ? * 开始菜单 ?? ? */ ?? ?public static int startMenu() { ?? ??? ?System.out.println("欢迎使用快递柜"); ?? ??? ?System.out.print("输入你的身份:1.快递员 2.用户 0.退出"); ?? ??? ?int id=0; ?? ??? ?do { ?? ??? ? ? ? id=input.nextInt(); ?? ??? ? ? ?if(id==1) { ?? ??? ? ? ??? ?kuaidiMenu();? ?? ??? ? ? ? break; ?? ??? ? ? }else if(id==2) { ?? ??? ??? ? ? yhMenu(); ?? ??? ? ? ? break; ?? ??? ? ? }else if(id==0){ ?? ??? ??? ? ? System.out.println("谢谢使用"); ?? ??? ??? ? ? return 0; ?? ??? ? ? }else { ?? ??? ??? ? ? ? ?System.out.println("选择有误,请重新输入:"); ?? ??? ?} ?? ?}while(true); ?? ??? ?return id; ?? ?} ?? ? /** 普通用户菜单 ?? ? */ ?? ?public static void yhMenu() { ?? ??? ?System.out.println("请输入取件码"); ?? ??? ?int qujian=input.nextInt(); ?? ??? ?int qujianIndex=isExist(qujian); ?? ??? ?if(qujianIndex==-1) { ?? ??? ??? ?System.out.println("未找到快递"); ?? ??? ?}else { ?? ??? ??? ?del(qujianIndex); ?? ??? ??? ?System.out.println("取件成功"); ?? ??? ?} ?? ?} ?? ?/** ?? ? * 快递员菜单 ?? ? */ ?? ?public static void kuaidiMenu() { ? ? System.out.print("选择操作:1.存快递 2.删除快递 3.修改快递信息 4.查看快递");?? ? ? ? int id=input.nextInt(); ? ? if(id==1) { ? ? ?? ?saveExpress(); ? ? }else if(id==2) { ? ? ?? ?delExpress(); ? ? }else if(id==3) { ? ? ?? ?System.out.println("输入要修改的快递单号"); ? ? ?? ?String num=input.next(); ? ? ?? ?int updateIndex=findByNum(num); ? ? ?? ?if(findByNum(num)==-1) { ? ? ?? ??? ?System.out.println("未找到快递"); ? ? ?? ?}else { ? ? ?? ?System.out.print("输入新的快递单号"); ? ? ?? ? num=input.next(); ? ? ?? ? System.out.print("输入新的公司名称"); ? ? ?? ? String gongsi=input.next(); ? ? ?? ? numArr[updateIndex]=num; ? ? ?? ? gongsiArr[updateIndex]=gongsi; ? ? ?? ? System.out.println("修改成功"); ? ? ?? ?} ? ? }else if(id==4) { ? ? ?? ?printAll(); ? ? } ?? ??? ? ?? ?}
?? ?/** ?? ? * 删除快递 ?? ? */ ?? ?public static void delExpress() { ?? ??? ?System.out.print("输入删除的快递单号:"); ?? ??? ?String num=input.next(); ?? ??? ?int?? ?delIndex=findByNum(num); ?? ?if(delIndex==-1) { ?? ??? ?System.out.println("未找到快递"); ?? ?}else { ?? ??? ?//删除 ?? ??? ?System.out.println("删除成功"); ?? ? ?? ?? ?} } ?? ?public static void del(int delIndex) { ? ? ? ? ? ? if(delIndex==numArr.length-1) { ?? ??? ??? ?for(int i=delIndex;i<index;i++) { ?? ??? ??? ??? ?numArr[i]=numArr[i+1]; ?? ??? ??? ??? ?gongsiArr[i]=gongsiArr[i+1]; ?? ??? ??? ??? ?qujianArr[i]=qujianArr[i+1]; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?index--; ?? ?} ?? ?/** ?? ? * 查看所有快递 ?? ? */?? ?public static void printAll() { ?? ??? ?System.out.println("----所有快递信息-----"); ?? ? ? ?System.out.println("快递单号\t公司名称\t取件码"); ?? ??? ?for (int i = 0;i<index;i++) { ?? ??? ??? ?System.out.println(numArr[i]+"\t"+gongsiArr[i]+"\t"+qujianArr[i]); ?? ??? ?} ?? ?} ?? ? ?? ?/** ?? ? * 根据快递单号 ?? ? * @param num 找到下标-1===表示找到 ?? ? * @return ?? ? */ ?? ?public static int findByNum(String num) { ?? ??? ?for (int i = 0;i<index; i++){ ?? ??? ?if(numArr[i].equals(num)) { ?? ??? ??? ?return i; ?? ??? ?} ?? ?} ? ? return -1; ?? ?} ?? ?/** ?? ? * 存快递 ?? ? */ ?? ?public static void saveExpress() { ?? ??? ?System.out.print("输入快递单号:"); ?? ??? ?String num=input.next(); ?? ??? ?System.out.print("输入公司名称:"); ?? ??? ?String gongsi=input.next(); ?? ??? ?numArr[index]=num; ?? ??? ?gongsiArr[index]=gongsi; ?? ??? ?//自动生成 ?? ??? ?int qujian=0; ?? ??? ?//保证不重复 ?? ??? ?do{ ?? ??? ??? ?qujian=random.nextInt(900)+100; ?? ??? ?}while(isExist(qujian)!=-1); ?? ??? ?qujianArr[index]=qujian; ?? ??? ?index++; ?? ??? ?System.out.println("快递已存入,取件码是:"+qujian); ?? ??? ? ?? ?}
?? ?//判断取件码是否重复 ?? ?public static int isExist(int qujian) { ?? ??? ?for(int i = 0;i<index;i++) { ?? ??? ??? ?if(qujianArr[i]==qujian) { ?? ??? ??? ??? ?return i; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?return -1; ?? ?} }
|