具体需求如图:
代码:
Express:
1 import java.util.Scanner; 2 3 public class Express { 4 //快递柜只能存100个快递,可以按需更改 5 public static ExpressQuality[][] eq = new ExpressQuality[9][9]; 6 public static void main(String[] args) { 7 hei:while(true){ 8 System.out.println("请选择身份:1.管理员 2.用户(输入1或者2) 3.退出"); 9 Scanner scanner = new Scanner(System.in); 10 try { 11 int a = scanner.nextInt(); 12 switch(a){ 13 case 1:{ 14 System.out.println("请选择功能:1.快递录入 2.删除快递 3.修改快递 4.查看所有快递"); 15 int selectFunction = scanner.nextInt(); 16 if(selectFunction == 1){ 17 Add add = new Add(); 18 add.Add(); 19 }else if(selectFunction == 2){ 20 Delete delete = new Delete(); 21 delete.Delete(); 22 }else if(selectFunction == 3){ 23 Modify modify = new Modify(); 24 modify.Modify(); 25 }else if(selectFunction == 4){ 26 Search search = new Search(); 27 search.search(); 28 }else{ 29 System.out.println("输入有误"); 30 } 31 break; 32 } 33 case 2:{ 34 TakeOut takeOut = new TakeOut(); 35 takeOut.takeOut(); 36 break; 37 } 38 case 3:{ 39 break hei; 40 } 41 default:{ 42 System.out.println("亲,只能输入1或2哦!"); 43 break; 44 } 45 } 46 }catch (RuntimeException e){ 47 System.out.println("亲,只能输入数字哦!");//查看所有快递有错误 48 } 49 } 50 } 51 }
ExpressQuality
1 public class ExpressQuality { 2 private int trackingNumber; 3 private String company; 4 private int pickUpCode; 5 6 public ExpressQuality(){} 7 public ExpressQuality(int trackingNumber,String company,int pickUpCode){ 8 this.trackingNumber = trackingNumber; 9 this.company = company; 10 this.pickUpCode = pickUpCode; 11 } 12 13 public int getPickUpCode() { 14 return pickUpCode; 15 } 16 17 public void setPickUpCode(int pickUpCode) { 18 this.pickUpCode = pickUpCode; 19 } 20 21 public String getCompany() { 22 return company; 23 } 24 25 public void setCompany(String company) { 26 this.company = company; 27 } 28 29 public int getTrackingNumber() { 30 return trackingNumber; 31 } 32 33 public void setTrackingNumber(int trackingNumber) { 34 this.trackingNumber = trackingNumber; 35 } 36 }
Code
1 import java.util.Random; 2 3 public class Code { 4 public int code() { 5 Random random = new Random(); 6 return random.nextInt(899999) + 100000; 7 } 8 }
Add
1 import java.util.Scanner; 2 import static com.zzk.senior.Express.eq; 3 4 public class Add { 5 public void Add(){ 6 Scanner scanner = new Scanner(System.in); 7 try{ 8 System.out.println("请输入快递单号:"); 9 int trackingNumber = scanner.nextInt(); 10 System.out.println("请输入快递公司:"); 11 String company = scanner.next(); 12 ExpressQuality expressQuality = new ExpressQuality();//每次调用都会产生一次对象 13 expressQuality.setTrackingNumber(trackingNumber); 14 expressQuality.setCompany(company); 15 //生成取件码,并且取件码不能重复 16 Code c = new Code(); 17 int cd = c.code(); 18 hei:for(int i = 1;i<eq.length+1;i++){ 19 for(int j = 0;j<eq.length+1;j++){ 20 if(eq[i][j] == null){ 21 break hei; 22 } 23 if(eq[i][j].getPickUpCode() == cd){ 24 cd = c.code(); 25 } 26 } 27 } 28 29 expressQuality.setPickUpCode(cd); 30 31 haha:for(int i = 0;i<eq.length+1;i++){ 32 for(int j = 0;j<eq.length+1;j++){ 33 if(eq[i][j] == null){ 34 eq[i][j] = expressQuality; 35 break haha; 36 } 37 } 38 } 39 System.out.println("快递已存入,取件码是:"+cd); 40 }catch (RuntimeException e){ 41 System.out.println("亲,请输入数字快递单号!"); 42 } 43 44 } 45 46 }
Delete
1 import java.util.Scanner; 2 import static com.zzk.senior.Express.eq; 3 4 public class Delete { 5 public void Delete(){ 6 Scanner scanner = new Scanner(System.in); 7 System.out.println("请输入要删除的快递单号:"); 8 try{ 9 int tracking1 = scanner.nextInt(); 10 hei:for(int i = 0;i<eq.length+1;i++) { 11 for(int j = 0;j<eq.length+1;j++){ 12 if(eq[i][j] == null) { 13 System.out.println("未找到快递"); 14 break hei; 15 }else if(eq[i][j].getTrackingNumber() == tracking1) { 16 eq[i][j] = null; 17 System.out.println("删除成功"); 18 break hei; 19 } 20 } 21 } 22 }catch (RuntimeException e){ 23 System.out.println("亲,请输入6位数快递单号!"); 24 } 25 } 26 }
Modify
1 import java.util.Scanner; 2 import static com.zzk.senior.Express.eq; 3 4 public class Modify { 5 public void Modify(){ 6 Scanner scanner = new Scanner(System.in); 7 System.out.println("请输入要修改的快递单号:"); 8 try{ 9 int tracking1 = scanner.nextInt(); 10 hei:for(int i = 0;i<eq.length+1;i++) { 11 for(int j = 0;j<eq.length+1;j++){ 12 ExpressQuality expressQuality = new ExpressQuality(); 13 if(eq[i][j] == null) { 14 System.out.println("未找到快递"); 15 break hei; 16 }else if(eq[i][j].getTrackingNumber() == tracking1) { 17 System.out.println("请输入新的快递单号:"); 18 int tracking3 = scanner.nextInt(); 19 System.out.println("请输入新的公司名称:"); 20 String company1 = scanner.next(); 21 //新的取件码 22 Code c = new Code(); 23 expressQuality.setPickUpCode(c.code()); 24 expressQuality.setTrackingNumber(tracking3); 25 expressQuality.setCompany(company1); 26 eq[i][j] = expressQuality; 27 System.out.println("修改成功"); 28 break hei; 29 } 30 } 31 } 32 }catch (RuntimeException e){ 33 System.out.println("亲,请输入6位数快递单号!"); 34 } 35 36 } 37 }
Search
1 import static com.zzk.senior.Express.eq; 2 3 public class Search { 4 public void search(){ 5 System.out.println("所有快递信息如下:"); 6 System.out.println("快递单号 公司名称 取件码"); 7 hei:for (int i = 0; i<eq.length+1;i++) { 8 for(int j = 0;j<eq.length+1;j++){ 9 if (eq[i][j] != null) { 10 System.out.println(eq[i][j].getTrackingNumber() + " " + eq[i][j].getCompany() + " " + eq[i][j].getPickUpCode()); 11 }else if(eq[i][j] == null){ 12 break hei; //跳出循环 13 } 14 } 15 } 16 } 17 }
TakeOut
1 import java.util.Scanner; 2 import static com.zzk.senior.Express.eq; 3 4 public class TakeOut { 5 public void takeOut(){ 6 System.out.println("请输入取件码:"); 7 Scanner scanner = new Scanner(System.in); 8 int tracking1 = scanner.nextInt(); 9 hei:for(int i = 0;i<eq.length+1;i++) { 10 for(int j = 0;j<eq.length+1;j++){ 11 if(eq[i][j] == null) { 12 System.out.println("未找到快递"); 13 break hei; 14 }else if(eq[i][j].getPickUpCode() == tracking1) { 15 eq[i][j] = null; 16 System.out.println("取件成功"); 17 break hei; 18 } 19 } 20 } 21 } 22 }
实现效果:
原文:https://www.cnblogs.com/zhangzhongkun/p/14394674.html