Java入门-小区快递系统从0到1,从1到2的全过程(MVC模块)

        

        用小区快递系统作为一个案例来实操是非常贴近生活的,在很多小区已经普及了智能的快递柜。作为一个Java入门的小白该如何写好小区快递系统呢?用老师专业的话来说这是一个从0-1,再从1-2的过程。在之前的章节作业中就要求我们来编写一个小区快递系统(还没有涉及到面向对象),所以可想而知,代码就全部堆在一个类中,耦合度非常高,显得很杂乱。但是这就是从0-1的开始,没有比较就没有收获。先上我之前写的代码:

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Ezhan {
    public static void main(String[] args) {
        //创建快递信息存储数组
        //快递单号
        int[] deliver = new int[3];
        //取件码
        int[] code1 = new int[3];
        //快递公司名称
        String[] name = new String[3];
        int index = -1;
        System.out.println("=====欢迎使用新职课快递柜=====");
        int over = 0;
        while (true) {
            System.out.println("请输入您的身份:1-快递员 2-用户");
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            if (n == 1) {  // 1 表示是快递员在操作 2表示用户在操作
                System.out.println("请选择操作:1-存快递 2=删除快递 3-修改快递信息 4-查看所有快递");
                Scanner a = new Scanner(System.in);
                int num = a.nextInt();
                switch (num) {
                    case 1:  //1-存快递

                        System.out.println("请输入快递单号:");
                        Scanner b = new Scanner(System.in);
                        int number = b.nextInt();
                        for (int i = 0; i < deliver.length; i++) {
                            if (deliver[i] == 0) {
                                index = i;
                                break;
                            }
                        }
                        deliver[index] = number;//通过遍历将快递单号存入数组
                        System.out.println("请输入公司名称");
                        Scanner c = new Scanner(System.in);
                        String company = c.next();
                        name[index] = company;//将公司名称存入数组
                        //随机生成取件码
                        int code = (int) ((Math.random() * 9 + 1) * 100);
                        code1[index] = code;//将取件码存入数组
                        System.out.println("快递已存入,取件码是:" + code);

                        break;

                    case 2://2-删除快递
                        int k = 0;//定义一个变量来判断是否找到了待删除的快递单号
                        System.out.println("请你输入要删除的快递单号:");
                        Scanner del = new Scanner(System.in);
                        int delnum = del.nextInt();//用户输入想要删除的快递单号
                        for (int i = 0; i < deliver.length; i++) {
                            if (deliver[i] == delnum)    //通过遍历判断数组中是否有待删除的快递单号
                            {
                                k = 1;//存在则将变量的值变为1
                                for (int j = i; j < deliver.length - 1; j++) {
                                    int temp = deliver[j];
                                    deliver[j] = deliver[j + 1];
                                    deliver[j + 1] = temp;
                                }//将待删除的快递单号的后面的每一个值覆盖前面的值
                                deliver[deliver.length - 1] = 0;//将快递单号的数组中最后一个值变为零
                                System.out.println("删除成功");
                            }
                        }
                        if (k == 0)    //如何变量k的值仍是0,则说明数组中没有要删除的对象
                        {
                            System.out.println("不存在该单号!");
                        }
                        break;

                    case 3:// 修改快递的数据
                        int f = 0;//定义变量c判断是否有待修改的快递单号
                        System.out.println("请输入要修改的快递单号:");
                        Scanner retry = new Scanner(System.in);
                        int renumber = retry.nextInt();
                        System.out.println("请输入新的快递单号:");
     
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值