模拟“小哥快跑”快递物流系统功能,能够查看物品的物流信息,并模拟后台系统处理货物的过程。java代码
时间: 2023-07-16 15:13:40 浏览: 131
快递驿站简单版,适用于java基础小白食用
以下是一个简单的Java实现,模拟“小哥快跑”快递物流系统功能:
```java
import java.util.ArrayList;
import java.util.List;
public class ExpressDeliverySystem {
private List<Package> packages;
public ExpressDeliverySystem() {
this.packages = new ArrayList<>();
}
public void addPackage(Package p) {
this.packages.add(p);
}
public void removePackage(Package p) {
this.packages.remove(p);
}
public List<Package> getPackages() {
return this.packages;
}
public void processPackage(Package p) {
// 模拟后台系统处理货物的过程
p.setStatus("已发货");
System.out.println(p.getTrackingNumber() + " 已发货");
}
public static void main(String[] args) {
ExpressDeliverySystem system = new ExpressDeliverySystem();
Package p1 = new Package("0001", "张三", "李四");
Package p2 = new Package("0002", "王五", "赵六");
system.addPackage(p1);
system.addPackage(p2);
// 查看物品的物流信息
for (Package p : system.getPackages()) {
System.out.println(p.getTrackingNumber() + " " + p.getStatus());
}
// 处理货物
for (Package p : system.getPackages()) {
system.processPackage(p);
}
// 查看物品的物流信息
for (Package p : system.getPackages()) {
System.out.println(p.getTrackingNumber() + " " + p.getStatus());
}
}
}
class Package {
private String trackingNumber;
private String sender;
private String receiver;
private String status;
public Package(String trackingNumber, String sender, String receiver) {
this.trackingNumber = trackingNumber;
this.sender = sender;
this.receiver = receiver;
this.status = "待发货";
}
public String getTrackingNumber() {
return this.trackingNumber;
}
public String getSender() {
return this.sender;
}
public String getReceiver() {
return this.receiver;
}
public String getStatus() {
return this.status;
}
public void setStatus(String status) {
this.status = status;
}
}
```
该示例中,`ExpressDeliverySystem` 类表示快递物流系统,其中 `addPackage()` 和 `removePackage()` 方法用于添加和删除包裹,`getPackages()` 方法返回所有包裹的列表。`processPackage()` 方法模拟后台系统处理货物的过程,将包裹的状态设置为“已发货”。
`Package` 类表示一个包裹,其中包含追踪号、寄件人、收件人和状态。`getStatus()` 和 `setStatus()` 方法用于获取和设置包裹的状态。
在 `main()` 方法中,创建了两个包裹,并将它们添加到快递物流系统中。然后,使用 `getPackages()` 方法查看所有包裹的物流信息,再使用 `processPackage()` 方法处理所有包裹。最后,再次使用 `getPackages()` 方法查看所有包裹的物流信息,以验证包裹的状态是否已更新。
阅读全文