快递e站_控制台简易版_java
快递e站_控制台简易版
- 角色切换(快递员和普通用户)
.
快递员功能:存快递,删除快递,修改快递,查看所有快递
普通用户功能:取快递
2. 存快递
3 删除快递
修改快递
查看所有快递
取快递
任务过程:
1 切换用户界面
2 快递信息的保存
3 各个子功能的实现
可能遇到的问题:
1 取件码使用的随机数生成
2 字符串比较使用 equals()
java语言实现,代码如下
import java.util.Random;
import java.util.Scanner;public class 快递e站 {public static Random random = new Random();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 void main(String[] args) {//展示菜单while (true) {int id = startMenu();if (id == 0)return;}}public static int startMenu() { //展示菜单System.out.println("=======欢迎来到快递柜==========");System.out.println("请输入身份:1-快递员 2-用户 0-退出");int id = 0;do {id = input.nextInt();if (id == 0) {System.out.println("退出系统,谢谢使用");return 0;} else if (id == 1) {deliverymanMenu();break;} else if (id == 2) {userMenu();break;} else {System.out.println("重新输入");}} while (true);return id;}public static void userMenu() { //用户菜单(id为2)System.out.println("请输入取件码");int code = input.nextInt();int codeIndex = isExist(code);if (codeIndex == -1) {System.out.println("未找到快递");} else {del(codeIndex);System.out.println("取件成功");}}public static void deliverymanMenu() { //快递员菜单(id为1)System.out.println("请选择操作:1存快递 2删除快递 3修改快递 4查看所有快递");int id = input.nextInt();if (id == 1) {saveExpress();} else if (id == 2) {delExpress();} else if (id == 3) {update();} else if (id == 4) {printAll();}}/*** 存快递*/public static void saveExpress() {System.out.println("输入快递单号:");String number = input.next();System.out.println("输入公司名称:");String company = input.next();//自动生成取件码 100-900int 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);}//判断取件码是否重复(返回下标不是true)[存和改快递用,写改方法时此代码改成返回下标而非true]public static int isExist(int code) {for (int i = 0; i < index; i++) {if (codeArr[i] == code) {return i;}}return -1;}// 根据快递单号查找快递,-1表示未找到 (删除,修改用)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 delExpress() {System.out.println("输入要删除的快递单号");String number = input.next();int deleteIndex = findByNumber(number);if (deleteIndex == -1) {System.out.println("未找到快递");} else {del(deleteIndex);System.out.println("删除成功");}}public static void del(int deleteIndex) { //删除if (deleteIndex != numberArr.length - 1) {for (int i = deleteIndex; i < index; i++) {//同一个i表示同1个物品numberArr[i] = numberArr[i + 1];companyArr[i] = companyArr[i + 1];codeArr[i] = codeArr[i + 1];}}index--;}//修改快递public static void update() {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("修改成功");}}//查看所有快递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]);}}
}
快递e站_控制台简易版_java相关推荐
- 快递 E 栈系统(控制台简易版)
目录 一.前言 1.1.功能介绍: 1.2.项目分析: 二.角色切换 2.1.主界面 2.2.choice()方法 2.3.findPackage()方法 三.快递员功能实现 3.1.存快递 addP ...
- unity制作滚动的天空简易版(在b站学的,此处总结,供学习)
学习于:程序员咖啡吧(B站up) 程序员咖啡吧的个人空间_哔哩哔哩_bilibili unity不是中文版没关系一样的. 欢迎大佬指教,我要复习去了 话不多说先了解游戏分为几个部分: 人物,摄像头,环 ...
- javascript实现图片轮播_手撸一个简易版轮播图(上)
手撸一个简易版轮播图 实现原理,通过控制 swiper-warpper 容器的定位来达到切换图片的效果. 页面布局 简易版轮播图 < > 页面样式 .container{width: 60 ...
- js计算器代码加减乘除_如何用jQuery做一个简易版计算器
经过几个小时地敲敲打打,终于把这一部分的代码完成了. 这类问题的难点不在于布局,而是如何恰当地使用jQuery达成计算.交互的目的,比如储存.显示数值,数据类型的转换等. 在听老师讲课之前的我,思路是 ...
- 5 拦截器拦截请求路由_手写简易版axios拦截器,实现微信小程序wx.request的封装与拦截...
前言: axios是一个功能强大的网络请求库,其中拦截器又是axios的精髓.在小程序的开发或者需要手动实现ajax的时候,没有实现对请求的拦截,开发的时候非常不方便,因此手写一个简易版的axios拦 ...
- indesign照片放入太大_猪肚鸡做法复杂,量太大,那来个简易版,用上大厨教的妙招更香了...
[猪肚鸡做法复杂,量太大,那来个简易版,用上大厨教的妙招更香了]天气越来越冷了,今天准备炖鸡汤,正好老妈给了小半个已经处理好的猪肚,所以决定炖个简易版胡椒猪肚鸡.说实话外面的胡椒猪肚鸡做法是比较复杂的 ...
- scala mysql连接池_Java与Scala的两种简易版连接池
Java版简易版连接池: import java.sql.Connection; import java.sql.DriverManager; import java.util.LinkedList; ...
- java课设 简单九宫格_[Java教程]简易版九宫格相加数值相等
[Java教程]简易版九宫格相加数值相等 0 2016-02-24 00:00:10 九宫格的样子以及游戏想大家接触过,想当年也是玩了好多九宫格游戏,其中最经典的就是1-9这九个数字填进格子,横竖向. ...
- java美图秀秀_[Java教程]简易版美图秀秀_星空网
简易版美图秀秀 2016-10-30 0 简易板美图秀秀灰度 黑白 底片 模糊 马赛克 简单的实现了 灰度,黑白,底片,模糊,马赛克(代码比较简单,通过canvas实现的) 感觉挺有意思的,上面解释很 ...
最新文章
- solidworks api二次开发实例详解_Solidworks开发语言对比及分析
- android gradle 给所有的buildFlavor 的versionName 增加一个后缀
- [云炬python3玩转机器学习笔记] 3-6Numpy数组和矩阵的合并和分割
- 我的青春谁做主的经典语录
- ipad iphone开发_如何将iPhone或iPad置于恢复模式
- 欢乐纪中某B组赛【2018.12.22】
- 觉得WaitGroup不好用?试试ErrorGroup吧!
- python学习_Python学习 基础篇完结
- PickerView 使用
- web打印的最佳方案
- 帆软大数据自定义分页
- 1微秒等于多少皮秒_秒的换算:皮秒、纳秒、微秒、毫秒
- 华为AX3Pro路由器配置成交换机使用
- web前端全套教程,入门必备
- 八、【中级篇】数码管驱动(74HC138,74HC595)
- 王小草【深度学习】笔记第七弹--RNN与应用案例:注意力模型与机器翻译
- 乐行天下激光雷达SDK介绍
- 大厂林立,思必驰推可定制开发语音交互技术!
- 带你了解EMC——什么是EMC?
- howland 电流源
热门文章
- subversion代码管理器安装配置
- error C2440: ’static_cast’ : cannot convert from ‘UINT (__thiscall CStaticLink::* )(CPoint)’ to ‘LRE
- 爱奇艺自动播放代码制作
- 【数据分析师求职面试指南】必备编程技能整理之Hive SQL必备用法
- 设置 easyUi的linkbutton按钮生效 失效
- Linux运维之(七)邮件服务器安装与配置squirrelmail-webmail
- 光谱实验反射、透射光谱测量
- 【Verilog基础】定点小数的乘法运算
- C语言内存讲解-详说内存分布和heap空间
- 轻轻挥别2014,悄悄迎来2015