(个人解题思路系列)用数组来写快递系统

快递系统(数组储存)的分析解题思路

前言

本系列是我自己关于遇到过的编程题目进行的分析思路总结,希望能够帮助到需要帮助的那些需要帮助的编程小白,同时也欢迎各位前辈予以指正和批评指导,谢谢。

题目:

任务用于熟悉快递管理业务,完成快递管理控制台项目,具体需求如图。
在这里插入图片描述

个人初步分析

  1. 需存储的数据有快递单号,快递公司,取件码,柜子位置(个人认为实际生活中位置应该是快递员选择指定),这里要求采用二维数组的方式存储数据
  2. 管理员有快递录入,快递删除(根据单号),快递修改(根据单号),查看所有快递(遍历)4个功能
  3. 普通用户只能根据取件码取快递

个人解题思路

说明

1.快递系统
① Views类(视图类)
② Data类(数据存储类)
③ Import类(数据使用类)
④ Call类(执行方法调度类)
⑤ Main类(程序执行类)
2.实现功能
① 快递员
快递录入
- 柜子位置生成(系统随机生成)
- 快递单号生成(输入)
- 快递公司(输入)
- 取件码(系统随机生成)
快递信息修改
快递删除
全部快递查找
② 普通用户
快递取件
- 输入取件码,取出快递同时删除系统内快递信息

1.视图类Views

根据要求进行各类视图的编码

/**
 * 视图类
 */
public class Views {
   
    private Scanner input = new Scanner(System.in);

    /**
     * 欢迎用方法
     */
    public void welcome(){
   
        System.out.println("欢迎使用XXX快递系统");
    }
    /**
     * 结束再见用方法
     */
    public void bye(){
   
        System.out.println("欢迎下次使用,再见!");
    }
    /**
     * 身份选择菜单
     */
    public int menu(){
   
        // 交互菜单
        System.out.println("请根据以下提示,输入功能序号:");
        System.out.println("1.快递员");
        System.out.println("2.普通用户");
        System.out.println("0.退出");
        // 输入交互内容
        String text = input.nextLine();
        // 定义num
        int num = -1;
        // 异常处理
        try{
   
            num =  Integer.parseInt(text);
        }catch (NumberFormatException e){
   

        }
        // 如果不是0,1,2则重新输入
        if (num<0 || num>2){
   
            return menu();
        }
        return num;
    }

    /**
     * 快递员菜单
     */
    public int cMenu(){
   
        System.out.println("请根据以下提示,进行取件操作:");
        System.out.println("1.快递录入");
        System.out.println("2.快递修改");
        System.out.println("3.快递删除");
        System.out.println("4.查看所有快递");
        System.out.println("0.退出");
        // 输入交互内容
        String text = input.nextLine();
        // 定义num
        int num = -1;
        // 异常处理
        try{
   
            num =  Integer.parseInt(text);
        }catch (NumberFormatException e){
   

        }
        // 如果不是0,1,2,3,4则重新输入
        if (num<0 || num>4){
   
            System.out.println("选择内容错误,请重新选择");
            return cMenu();
        }
        return num;
    }
    /**
     * 录入信息
     */
    public Data insert(){
   
        System.out.println("请根据以下提示,输入快递信息:");
        System.out.print("请输入快递单号:");
        System.out.println();
        // 输入快递单号
        String number = input.nextLine();
        System.out.print("请输入快递公司:");
        // 输入快递公司
        String company = input.nextLine();
        Data e = new Data();
        // 数据录入
        e.setNumber(number);
        e.setCompany(company);
        return e;
    }
    /**
     * 查找快递
     */
    public String findByNumber(){
   
        System.out.println("请根据以下提示,输入快递信息:");
        System.out.print("请输入需要进行操作的快递单号:");
        // 输入需查找快递单号
        String number = input.nextLine();
        // 返回快递单号数据
        return number;
    }
    /**
     * 查找快递
     */
    public void printData(Data e){
   
        System.out.println("快递信息如下:");
        System.out.println("快递公司:"+e.
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值