一、主要涉及知识

1、数组
2、分支结构

二、源码解析

1、先创建三个数组

public static String[] numberArr = new String[100];// 快递单号数组public static String[] companyArr = new String[100];// 公司名称数组public static int[] codeArr = new int[100];// 取件码数组

2、定义展示菜单并应用方法

public static void main(String[] args) {/** 展示菜单*/while (true) {int id = startMenu();if (id == 0)return;}}

3、创建展示菜单方法

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 id;} else {// 输入错误System.out.println("输入错误!请检查并重新输入");}} while (true);return id;}

4、定义快递员菜单

/** 快递员菜单*/public static void deliverymanMenu() {System.out.print("请选择操作:1-存快递 2-删除快递 3-修改快递信息 4-查看所有快递");int id = input.nextInt();if (id == 1) {System.out.println(saveExpress());} else if (id == 2) {delExpress();System.out.println("删除成功!");} else if (id == 3) {revExpress();} else if (id == 4) {printAll();}}

5、定义快递员详细操作的方法
查找快递

/** 根据快递单号查找快递 找到的下标 是-1 表示没有找到*/public static int findByNumber(String number) {for (int i = 0; i < index; i++) {if (numberArr[i].equals(number)) {return i;}}return -1;}

存入快递

private static String saveExpress() {System.out.print("请输入快递单号:");String number = input.next();System.out.print("请输入公司名称:");String company = input.next();numberArr[index] = number;companyArr[index] = company;
判断快递单号重复if (findByNumber(number) != -1) {return "当前单号已经存在";}// 自动生成取件码int code = 0;// 保证取件码不重复do {code = random.nextInt(900) + 100;} while (isExist(code) != -1);codeArr[index] = code;index++;String flag = "快递已存入,取件码是:" + code;return flag;}

判断取件码重复问题

public static int isExist(int code) {for (int i = 0; i < index; i++) {// 循环遍历取件码数组if (codeArr[i] == code) {// 判断是否重复return i;}}return -1;}

修改快递

/** 修改快递*/public static void revExpress() {System.out.println("请输入要修改的快递单号:");String number = input.next();int updateIndex = findByNumber(number);if (updateIndex == -1) {System.out.println("未找到快递!");} else {System.out.print("请输入新的的快递单号:");number = input.next();System.out.print("请输入新的公司名称:");String company = input.next();numberArr[updateIndex] = number;companyArr[updateIndex] = company;System.out.println("修改成功!");}}

删除快递

/** 删除快递*/public static void delExpress() {System.out.print("请输入要删除的快递单号:");String number = input.next();int delIndex = findByNumber(number);if (delIndex == -1) {System.out.println("没有找到快递!");} else {// 删除del(delIndex);}}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 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]);}}

6、定义用户菜单

/** 用户菜单*/public static void userMenu() {System.out.print("请输入取件码:");int code = input.nextInt();int codeIndex = isExist(code);if (codeIndex == -1) {System.out.println("未找到该快递!");} else {del(codeIndex);System.out.println("取件成功");}}
}

Java快递驿站项目相关推荐

  1. java快递驿站管理系统免费_基于jsp的快递物流管理系统-JavaEE实现快递物流管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的快递物流管理系统, 该项目可用各类java课程设计大作业中, 快递物流管理系统的系统架构分为前后台两部分, 最终实 ...

  2. 新手小白怎么开快递驿站?

    快递驿站的吸引力是很大的,一些没接触过快递驿站项目的朋友,可能会认为,驿站并不好做.如果自己之前没接触过快递行业,很难上手.但其实没有你想象的那么复杂,即使你是新手小白,提前做过相关的了解之后,也是能 ...

  3. [附源码]java毕业设计基于Java的快递驿站管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  4. JAVA菜鸟驿站快递分发系统计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA菜鸟驿站快递分发系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA菜鸟驿站快递分发系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 ...

  5. [附源码]java毕业设计哈金院快递驿站管理信息系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. 计算机毕业设计Java菜鸟驿站快递分发系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java菜鸟驿站快递分发系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java菜鸟驿站快递分发系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B ...

  7. 基于JAVA菜鸟驿站快递分发系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA菜鸟驿站快递分发系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA菜鸟驿站快递分发系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  8. java 快递项目_基于SpringBoot开发的Java快递代拿系统

    该项目基于 [基于SSM开发的Java快递代拿系统] 项目全面升级,使用当前最为流行的 SpringBoot 框架,相关技术栈全面更新!是您深入学习 SpringBoot 开发的最佳实践! 相关技术栈 ...

  9. JavaWeb项目之Servlet+Mysql快递驿站(后台管理端+微信端)

    JavaWeb快递驿站(后台管理端+微信) 一.主要技术及平台: Java11 Tomcat8.5.34 Servlet Mysql8 Navicat15 IDEA2021 前端三剑客以及layui ...

最新文章

  1. 关于seo优化的核心思想
  2. 安卓系统辅助功能中的指针停止移动后点击是什么?OTG
  3. springboot接口慢_【SpringBoot】 一种解决接口返回慢的方式
  4. 数据结构(Data structures)(二):结构体指针
  5. 关于jrebel碰到的一次问题记录
  6. SpringMVC 上传文件and过滤器
  7. 前端学习(3046):vue+element今日头条管理-页面布局和面包屑筛选
  8. MathType方向键和退格键失效解决方案
  9. 福布斯评选 8 位 AI 风云女性,李飞飞、Coursera 创始人在列
  10. 移远EC20串口使用阻塞问题
  11. png转ico图标的在线网站
  12. 惠普台式机开不了机怎么办 惠普台式电脑无法开机的解决方法
  13. c语言put()用法,C++ get()和put()读写文件详解
  14. elementUi tabs刷新后,选中的tab下划线不显示
  15. Java开发Telegram机器人
  16. 把代码和环境做成docker镜像_Jenkins把GitHub项目做成Docker镜像
  17. 220927工作日志
  18. 阅读《人类简史》思考的几个问题。
  19. DEJA_VU3D - Cesium功能集 之 070-编辑3Dtiles(平移+旋转)
  20. 强化学习入门——以Q-Learning为实例

热门文章

  1. 习题 3.12 给出一个不多于5位的正整数,要求:1. 求出它是几位数;2. 分别打印出每一位数字;3. 按逆序打印出各位数字,例如原数位321,应输出123。
  2. window电脑 休眠后无法唤醒 解决办法
  3. LT8911EXB:MIPI CSI/DSI转EDP信号转换芯片-润百信科技提供技术批量支持
  4. 缔元信:用户画像技术助推大数据落地
  5. 银行测试的优势在哪里?
  6. python爬虫小项目挣钱兼职,python程序员兼职平台
  7. 【面试软技巧】你如何看待加班?
  8. Word Rotator‘s Distance——WRD算法应用
  9. 给word文档加水印
  10. 攻防演练第四年的一些碎碎念