zoukankan      html  css  js  c++  java
  • 快递E栈02(二维数组,面向对象)

    具体需求如图:

     代码:

    Express:

     1 package com.zzk.senior;
     2 
     3 import java.util.Scanner;
     4 
     5 public class Express {
     6     //快递柜只能存100个快递,可以按需更改
     7     public static ExpressQuality[][] eq = new ExpressQuality[9][9];
     8     public static void main(String[] args) {
     9         hei:while(true){
    10             System.out.println("请选择身份:1.管理员    2.用户(输入1或者2)   3.退出");
    11             Scanner scanner = new Scanner(System.in);
    12             try {
    13                 int a = scanner.nextInt();
    14                 switch(a){
    15                     case 1:{
    16                         System.out.println("请选择功能:1.快递录入  2.删除快递  3.修改快递  4.查看所有快递");
    17                         int selectFunction = scanner.nextInt();
    18                         if(selectFunction == 1){
    19                             Add add = new Add();
    20                             add.Add();
    21                         }else if(selectFunction == 2){
    22                             Delete delete = new Delete();
    23                             delete.Delete();
    24                         }else if(selectFunction == 3){
    25                             Modify modify = new Modify();
    26                             modify.Modify();
    27                         }else if(selectFunction == 4){
    28                             Search search = new Search();
    29                             search.search();
    30                         }else{
    31                             System.out.println("输入有误");
    32                         }
    33                         break;
    34                     }
    35                     case 2:{
    36                         TakeOut takeOut = new TakeOut();
    37                         takeOut.takeOut();
    38                         break;
    39                     }
    40                     case 3:{
    41                         break hei;
    42                     }
    43                     default:{
    44                         System.out.println("亲,只能输入1或2哦!");
    45                         break;
    46                     }
    47                 }
    48             }catch (RuntimeException e){
    49                 System.out.println("亲,只能输入数字哦!");//查看所有快递有错误
    50             }
    51         }
    52     }
    53 }

    ExpressQuality

     1 package com.zzk.senior;
     2 
     3 public class ExpressQuality {
     4     private int trackingNumber;
     5     private String company;
     6     private int pickUpCode;
     7 
     8     public ExpressQuality(){}
     9     public ExpressQuality(int trackingNumber,String company,int pickUpCode){
    10         this.trackingNumber = trackingNumber;
    11         this.company = company;
    12         this.pickUpCode = pickUpCode;
    13     }
    14 
    15     public int getPickUpCode() {
    16         return pickUpCode;
    17     }
    18 
    19     public void setPickUpCode(int pickUpCode) {
    20         this.pickUpCode = pickUpCode;
    21     }
    22 
    23     public String getCompany() {
    24         return company;
    25     }
    26 
    27     public void setCompany(String company) {
    28         this.company = company;
    29     }
    30 
    31     public int getTrackingNumber() {
    32         return trackingNumber;
    33     }
    34 
    35     public void setTrackingNumber(int trackingNumber) {
    36         this.trackingNumber = trackingNumber;
    37     }
    38 }

    Code

     1 package com.zzk.senior;
     2 
     3 import java.util.Random;
     4 
     5 public class Code {
     6     public int code() {
     7         Random random = new Random();
     8         return random.nextInt(899999) + 100000;
     9     }
    10 }

    Add

     1 package com.zzk.senior;
     2 
     3 import java.util.Scanner;
     4 import static com.zzk.senior.Express.eq;
     5 
     6 public class Add {
     7     public void Add(){
     8         Scanner scanner = new Scanner(System.in);
     9         try{
    10             System.out.println("请输入快递单号:");//未限制6位数
    11             int trackingNumber = scanner.nextInt();
    12             System.out.println("请输入快递公司:");
    13             String company = scanner.next();
    14             ExpressQuality expressQuality = new ExpressQuality();//每次调用都会产生一次对象
    15             expressQuality.setTrackingNumber(trackingNumber);
    16             expressQuality.setCompany(company);
    17             //生成取件码,并且取件码不能重复
    18             Code c = new Code();
    19             int cd = c.code();
    20             hei:for(int i = 0;i<eq.length;i++){
    21                 for(int j = 0;j<eq.length;j++){
    22                     if(eq[i][j] == null){
    23                         break hei;
    24                     }
    25                     if(eq[i][j].getPickUpCode() == cd){
    26                         cd = c.code();
    27                     }
    28                 }
    29             }
    30 
    31             expressQuality.setPickUpCode(cd);
    32 
    33             haha:for(int i = 0;i<eq.length+1;i++){
    34                 for(int j = 0;j<eq.length+1;j++){
    35                     if(eq[i][j] == null){
    36                         eq[i][j] = expressQuality;
    37                         break haha;
    38                     }
    39                 }
    40             }
    41             System.out.println("快递已存入,取件码是:"+cd);
    42         }catch (RuntimeException e){
    43             System.out.println("亲,请输入数字快递单号!");
    44         }
    45 
    46     }
    47 
    48 }

    Delete

     1 package com.zzk.senior;
     2 
     3 import java.util.Scanner;
     4 import static com.zzk.senior.Express.eq;
     5 
     6 public class Delete {
     7     public void Delete(){
     8         Scanner scanner = new Scanner(System.in);
     9         System.out.println("请输入要删除的快递单号:");
    10         try{
    11             int tracking1 = scanner.nextInt();
    12             hei:for(int i = 0;i<eq.length;i++) {
    13                 for(int j = 0;j<eq.length;j++){
    14                     if(eq[i][j] == null) {
    15                         if(i == 8 || j == 8){
    16                             System.out.println("未找到快递");
    17                         }
    18                         continue;
    19                     }else if(eq[i][j].getTrackingNumber() == tracking1) {
    20                         eq[i][j] = null;
    21                         System.out.println("删除成功");
    22                         break hei;
    23                     }
    24                 }
    25             }
    26         }catch (RuntimeException e){
    27             System.out.println("亲,请输入正确的快递单号!");
    28         }
    29     }
    30 }

    Modify

     1 package com.zzk.senior;
     2 
     3 import java.util.Scanner;
     4 import static com.zzk.senior.Express.eq;
     5 
     6 public class Modify {
     7     public void Modify(){
     8         Scanner scanner = new Scanner(System.in);
     9         System.out.println("请输入要修改的快递单号:");
    10         try{
    11             int tracking1 = scanner.nextInt();
    12             hei:for(int i = 0;i<eq.length;i++) {
    13                 for(int j = 0;j<eq.length;j++){
    14                     ExpressQuality expressQuality = new ExpressQuality();
    15                     if(eq[i][j] == null) {
    16                         if(i == 8 || j == 8){
    17                             System.out.println("未找到快递");
    18                         }
    19                         continue;
    20                     }else if(eq[i][j].getTrackingNumber() == tracking1) {
    21                         System.out.println("请输入新的快递单号:");
    22                         int tracking3 = scanner.nextInt();
    23                         System.out.println("请输入新的公司名称:");
    24                         String company1 = scanner.next();
    25                         //新的取件码
    26                         Code c = new Code();
    27                         expressQuality.setPickUpCode(c.code());
    28                         expressQuality.setTrackingNumber(tracking3);
    29                         expressQuality.setCompany(company1);
    30                         eq[i][j] = expressQuality;
    31                         System.out.println("修改成功");
    32                         break hei;
    33                     }
    34                 }
    35             }
    36         }catch (RuntimeException e){
    37             System.out.println("亲,请输入6位数快递单号!");
    38         }
    39 
    40     }
    41 }

    Search

     1 package com.zzk.senior;
     2 
     3 import static com.zzk.senior.Express.eq;
     4 
     5 public class Search {
     6     public void search(){
     7         System.out.println("所有快递信息如下:");
     8         System.out.println("快递单号    公司名称    取件码");
     9         for(int i = 0;i<eq.length;i++){
    10             for(int j = 0;j<eq.length;j++){
    11                 if (eq[i][j] != null) {
    12                     System.out.println(eq[i][j].getTrackingNumber() + "         " + eq[i][j].getCompany() + "         " + eq[i][j].getPickUpCode());
    13                 }else if(eq[i][j] == null){
    14                     continue; //跳出循环
    15                 }
    16             }
    17         }
    18     }
    19 }

    TakeOut

     1 package com.zzk.senior;
     2 
     3 import java.util.Scanner;
     4 import static com.zzk.senior.Express.eq;
     5 
     6 public class TakeOut {
     7     public void takeOut(){
     8         System.out.println("请输入取件码:");
     9         Scanner scanner = new Scanner(System.in);
    10         try{
    11             int tracking1 = scanner.nextInt();
    12             hei:for(int i = 0;i<eq.length;i++) {
    13                 for(int j = 0;j<eq.length;j++){
    14                     if(eq[i][j] == null) {
    15                         if(i == 8 || j == 8){
    16                             System.out.println("未找到快递");
    17                         }
    18                         continue;
    19                     }else if(eq[i][j].getPickUpCode() == tracking1) {
    20                         eq[i][j] = null;
    21                         System.out.println("取件成功");
    22                         break hei;
    23                     }
    24                 }
    25             }
    26         }catch (RuntimeException e){
    27             System.out.println("亲,请输入6位数取件码!");
    28         }
    29     }
    30 }

    实现效果:

  • 相关阅读:
    C#的HttpWebRequest编程,支持带ViewState的网页POST请求
    maven添加jar包依赖
    linux操作命令
    xshell常用命令
    一些重要 Docker 命令的简单介绍
    Linux 如何显示一个文件的某几行
    Docker进阶使用1
    【Mac】Docker安装及基础使用
    Docker 中的一些概念
    Docker初步了解
  • 原文地址:https://www.cnblogs.com/zhangzhongkun/p/14394674.html
Copyright © 2011-2022 走看看