今天完成了任务的最后一个模块,整个任务全部完成并可以使用。发现其中有很多没学过的东西。
第一次完成这么庞大的任务,上上下下封装有的时候甚至找不到想改的模块。而后学习了第七节,对未来就业观念有了一定的改观。
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;
}
}