怕什么真理无穷,进一寸有一寸的欢喜。但如果Java的真理,比无穷的量级还大怎么办,老师没教啊!!!!
优化的逻辑
去除了二元数组的存储逻辑,以key-value的方法来替代进行存储。为表示快递所在的箱子,在Express中加入了lockerNumber这个Int属性来表示快递所在的箱子号数,至于几行几列都是可以用数学自己算出来的(所以为什么我一开始要用二元数组呢,不知道啊,可能是因为我是文科生?天生仇视数学?)
第一步:JavaBean
这里依然还没有将取件码改造为String,下一篇文章就会进行改造了。现在还没有意识到有改造的必要
import java.util.Objects;
public class Express {
//快递公司名
private String company;
// 快递单号
private String num;
// 快递取件码
private int code;
// 快递所在柜子号
private int lockerNumber;
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public int getLockerNumber() {
return lockerNumber;
}
public void setLockerNumber(int lockerNumber) {
this.lockerNumber = lockerNumber;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Express express = (Express) o;
return Objects.equals(num, express.num);
}
@Override
public String toString() {
return "Express{" +
"company='" + company + '\'' +
", num='" + num + '\'' +
", code=" + code +
", lockerNumber=" + lockerNumber +
'}';
}
}
第二步:View
跟上一篇文章相比没有任何改变,依然只有欢迎和结束,以及三个菜单功能
import java.util.Scanner;
public class View {
private Scanner input = new Scanner(System.in);
public void welcome(){
System.out.println("欢迎使用xxx快递管理系统");
}
public void bye(){
System.out.println