快递e站,程序

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;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值