JavaEE实战班第十一天
今天完成了任务的最后一个模块,整个任务全部完成并可以使用。发现其中有很多没学过的东西。
第一次完成这么庞大的任务,上上下下封装有的时候甚至找不到想改的模块。而后学习了第七节,对未来就业观念有了一定的改观。
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实战班第十一天相关推荐
- JavaEE实战班第19天
时隔多天,返工了有关封装,重载,静态,终于算是把这一块拿下来了,可能还有别的问题,目前没有发现,暂时不管继续向下走. 完成了作业,其中有过这些问题 1. 我在构造方法时将静态的值也放在了里面 Emp( ...
- JavaEE实战班第18天
憋半天憋出一个作业来,可算把getset的用法整明白了,说白了跟input挺像的,现在感觉就是input运行起来了再输入,getset运行之前设置.这个作业这么理解目前还行,不知道以后这么理解会不会有 ...
- JavaEE实战班第十七天
今天返工了代码块和main,总觉得这个部分很难理解,与之前的面向对象相结合.可能是之前的理解有误或者钻牛角尖了,最近忙于应聘和原工作的加班,学习时间较少落下了进度,过一阵稳定下来要补上. 普通代码块 ...
- JavaEE实战班第16天
今天修改了昨天作业的错误. public class work01 { private String brand; private String color; public w ...
- JavaEE实战班第十五天
今天改正了昨天提交作业的错误,并继续学习了静态static,包,权限修饰符和代码块,其中对代码块的理解不到位,主要体现在方法的重载方面,明天需要返工. 普通代码块 在执行的流程中 出现的 代码块, 我 ...
- JavaEE实战班第十四天
今天学的是封装,this关键字,和静态static. 其中封装,上个大任务中没了解的封装今天学到了,知道了封装的主要作用是防止误操作,运用private限制其权限.从而达到目的. 我们观察如下代码: ...
- JavaEE实战班第13天
今天学了面向对象基础里的对象创建,构造方法,方法重载,构造方法重载,匿名对象和阿里巴巴编程规范.并完成了三个小任务. 大体上明白了面向对象想说的是什么,但是总体上还是懵懵懂懂的.跟之前学习的内容串联不 ...
- JavaEE实战班第十二天
今天学习了面向对象基础,我目前对于面向对象的理解就像是数学的套公式一样,先将公式封装好之后就可以在其他地方简短便捷的使用. -------------------------------------- ...
- JavaEE实战班第十天
今天将昨天分成的任务达成了三个,还剩最后一个.其中遇到的问题封装不会,生成随机数不会. 代码如下: import java.util.Random; import java.util.Scanner; ...
最新文章
- html文章整体居中,div居中与div内容居中
- 做创业者的老婆,一定要注意股权分配的3个坑
- Linux系统安装Appach 2.4.6
- ORACLE快速遍历树及join基表很大的性能问题
- 在模糊查询中怎样事先加载页面_8种信息类型,中后台产品功能自查清单
- 自由在博客里插入广告,有钱你不赚吗???
- 红豆、绿豆、黑豆、花生、莲子、薏仁米放在一起吃,可以吗?
- PHP:header()函数
- 8种处理VMware报错的高效方法
- Maven的核心概念
- Linux登录时执行
- Spring事务原理分析(二)--@Transactional事务属性的解析
- html屏幕阅读器,支持移动触摸的网页版PDF格式文件阅读器插件
- 微信小程序最全Tab选项卡,你要的功能都在这里啦
- 单片机应用系统设计技术——多功能出租车计费器
- 语句覆盖,判定覆盖,条件覆盖,条件/判定覆盖,条件组合覆盖,路径覆盖
- “拼命”奔跑的社区团购
- python怎么读音发音英语-django的英文读法是什么
- Hadoop相关概念
- docker mysql数据库初始化_Docker容器启动时初始化Mysql数据库
热门文章
- Java工作笔记-JPA中Repository新增自定义更新操作
- Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据
- Qt文档阅读笔记-QQmlApplicationEngine解析与实例(qml与C++混合编程及QQuick与widgets混合)
- Qt工作笔记-QVector下标访问和迭代访问效率实践(大跌狗眼)
- python创建百万个文件_python百万sitemap制作
- java课程设计拼图_基于Java拼图游戏的设计与实现(含录像)
- python 文件服务器
- linux设备负责执行计划任务,Linux计划任务详解,很详细,每一行命令都有相对应的白话解释。...
- java web高级编程 百度网盘_[有书共享]JavaWeb高级编程
- adb native raact 夜神_React Native 与 夜神模拟器的绑定