今天完成了任务的最后一个模块,整个任务全部完成并可以使用。发现其中有很多没学过的东西。

第一次完成这么庞大的任务,上上下下封装有的时候甚至找不到想改的模块。而后学习了第七节,对未来就业观念有了一定的改观。

package day09;
import java.util.Random;
import java.util.Scanner;
public class work01 {
    public static Scanner input = new Scanner(System.in);
    public static String[] numberArr=new String[100];
    public static String[] companyArr=new String[100];
    public static int[] codeArr=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) {//快递员
                    deliverymanMenu();
                    break;
                }else if(id==2) {//用户
                    userMenu();
                    break;
                }else if(id==0){
                    System.out.println("谢谢使用");
                    return 0;
                }else {
                    System.out.println("选择有误,请重新输入");
                }
                }while(true);
                return id;
    }
    //--------------------------------------------------------------------------
    public static void userMenu() {
        System.out.print("请输入取件码:");
        int code = input.nextInt();
        int codeIndex = isExist(code);
        if(codeIndex==-1) {
            System.out.print("未找到快递:");
        }else {
            del(codeIndex);
            System.out.print("取件成功:");
        }
    }
    //--------------------------------------------------------------------------
    
    //--------------------------------------------------------------------------
    public static void deliverymanMenu() {
        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 number = input.next();
            int updateIndex=findByNumber(number);
            if(updateIndex==-1) {
                System.out.println("未找到快递");
            }else {
                System.out.println("请输入新的快递信息");
                 number = input.next();
                System.out.println("请输入新的公司名称");
                String company = input.next();
                numberArr[updateIndex]=number;
                companyArr[updateIndex]=company;
                System.out.println("修改成功");
            }
        }else if(id==4) {
            printAll();
        }
    }
    //--------------------------------------------------------------------------
    public static void printAll() {
        System.out.println("----------这是所有的快递信息-----------");
        System.out.println("快递单号\t快递公司\t取件码");
        for(int i = 0;i<index;i++) {
            System.out.println(numberArr[i]+"\t"+companyArr[i]+"\t"+codeArr[i]);
        }
    }
    //--------------------------------------------------------------------------
    public static int findByNumber(String number) {
        for(int i = 0;i<index;i++) {
            if(numberArr[i].equals(number)) {
                return i;
            }
        }
        return -1;
    }
    //--------------------------------------------------------------------------
    public static void  saveExpress() {
        System.out.println("请输入快递单号");
        String number=input.next();
        System.out.println("请输入公司名称");
        String company=input.next();
        int code =0; 
        numberArr[index]=number;
        companyArr[index]=company;
        do {
            code =random.nextInt(900)+100;
        }while(isExist(code)!=-1);
        codeArr[index]=code;
        index++;
        System.out.println("取件码是:"+code);
    }
//--------------------------------------------------------------------------
public static void delExpress() {
    System.out.println("请输入要删除的快递单号");
    String number=input.next();
    int delIndex=findByNumber(number);
    if(delIndex==-1) {
        System.out.println("未找到快递");
    }else {
        //删除
        del(delIndex);
        System.out.println("删除成功");}
    }
//--------------------------------------------------------------------------
    public static void del(int delIndex) {
        if(delIndex!=numberArr.length-1) {
            
            for(int i = delIndex;i<index;i++) {
                numberArr[i]=numberArr[i+1];
                companyArr[i]=companyArr[i+1];
                codeArr[i]=codeArr[i+1];
            }
            
        }
        index--;
    }
//--------------------------------------------------------------------------
    public static int isExist(int code) {
        for(int i = 0;i<index;i++) {
            if(codeArr[i]==code) {
                return i;
            }
        }
        return -1;
    
    }
}

JavaEE实战班第十一天相关推荐

  1. JavaEE实战班第19天

    时隔多天,返工了有关封装,重载,静态,终于算是把这一块拿下来了,可能还有别的问题,目前没有发现,暂时不管继续向下走. 完成了作业,其中有过这些问题 1. 我在构造方法时将静态的值也放在了里面 Emp( ...

  2. JavaEE实战班第18天

    憋半天憋出一个作业来,可算把getset的用法整明白了,说白了跟input挺像的,现在感觉就是input运行起来了再输入,getset运行之前设置.这个作业这么理解目前还行,不知道以后这么理解会不会有 ...

  3. JavaEE实战班第十七天

    今天返工了代码块和main,总觉得这个部分很难理解,与之前的面向对象相结合.可能是之前的理解有误或者钻牛角尖了,最近忙于应聘和原工作的加班,学习时间较少落下了进度,过一阵稳定下来要补上. 普通代码块 ...

  4. JavaEE实战班第16天

    今天修改了昨天作业的错误. public class work01 {     private String brand;     private String color;     public w ...

  5. JavaEE实战班第十五天

    今天改正了昨天提交作业的错误,并继续学习了静态static,包,权限修饰符和代码块,其中对代码块的理解不到位,主要体现在方法的重载方面,明天需要返工. 普通代码块 在执行的流程中 出现的 代码块, 我 ...

  6. JavaEE实战班第十四天

    今天学的是封装,this关键字,和静态static. 其中封装,上个大任务中没了解的封装今天学到了,知道了封装的主要作用是防止误操作,运用private限制其权限.从而达到目的. 我们观察如下代码: ...

  7. JavaEE实战班第13天

    今天学了面向对象基础里的对象创建,构造方法,方法重载,构造方法重载,匿名对象和阿里巴巴编程规范.并完成了三个小任务. 大体上明白了面向对象想说的是什么,但是总体上还是懵懵懂懂的.跟之前学习的内容串联不 ...

  8. JavaEE实战班第十二天

    今天学习了面向对象基础,我目前对于面向对象的理解就像是数学的套公式一样,先将公式封装好之后就可以在其他地方简短便捷的使用. -------------------------------------- ...

  9. JavaEE实战班第十天

    今天将昨天分成的任务达成了三个,还剩最后一个.其中遇到的问题封装不会,生成随机数不会. 代码如下: import java.util.Random; import java.util.Scanner; ...

最新文章

  1. html文章整体居中,div居中与div内容居中
  2. 做创业者的老婆,一定要注意股权分配的3个坑
  3. Linux系统安装Appach 2.4.6
  4. ORACLE快速遍历树及join基表很大的性能问题
  5. 在模糊查询中怎样事先加载页面_8种信息类型,中后台产品功能自查清单
  6. 自由在博客里插入广告,有钱你不赚吗???
  7. 红豆、绿豆、黑豆、花生、莲子、薏仁米放在一起吃,可以吗?
  8. PHP:header()函数
  9. 8种处理VMware报错的高效方法
  10. Maven的核心概念
  11. Linux登录时执行
  12. Spring事务原理分析(二)--@Transactional事务属性的解析
  13. html屏幕阅读器,支持移动触摸的网页版PDF格式文件阅读器插件
  14. 微信小程序最全Tab选项卡,你要的功能都在这里啦
  15. 单片机应用系统设计技术——多功能出租车计费器
  16. 语句覆盖,判定覆盖,条件覆盖,条件/判定覆盖,条件组合覆盖,路径覆盖
  17. “拼命”奔跑的社区团购
  18. python怎么读音发音英语-django的英文读法是什么
  19. Hadoop相关概念
  20. docker mysql数据库初始化_Docker容器启动时初始化Mysql数据库

热门文章

  1. Java工作笔记-JPA中Repository新增自定义更新操作
  2. Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据
  3. Qt文档阅读笔记-QQmlApplicationEngine解析与实例(qml与C++混合编程及QQuick与widgets混合)
  4. Qt工作笔记-QVector下标访问和迭代访问效率实践(大跌狗眼)
  5. python创建百万个文件_python百万sitemap制作
  6. java课程设计拼图_基于Java拼图游戏的设计与实现(含录像)
  7. python 文件服务器
  8. linux设备负责执行计划任务,Linux计划任务详解,很详细,每一行命令都有相对应的白话解释。...
  9. java web高级编程 百度网盘_[有书共享]JavaWeb高级编程
  10. adb native raact 夜神_React Native 与 夜神模拟器的绑定