C知道
)电动车父类ElectricVehicles设计,它具有以下属性:车辆名称、车辆编号、电池容量、电池类型(铅酸还是锂电池)、最大续航里程、最高速度、价格(10分)
1)构造方法、get方法、set方法
2)重写toString方法:打印电动车的所有属性信息
3)重写equals方法:实现比较两种电动车的车辆名称、车辆编号是否相同,如果相同则返回true,否则返回false
(2)两轮电动车(继承于ElectricVehicles)(10分)
1)新增属性:轮胎尺寸、载重能力
2)构造方法(使用super)、get方法、set方法
3)重写toString方法:打印电动车的所有属性信息
(3)三轮电动车(继承于ElectricVehicles)(10分)
1)新增属性:车厢容量、是否有顶棚
2)构造方法(不使用super)、get方法、set方法
3)重写getClass方法:返回车辆名称
(4)接口设计(10分)
1)添加电动车充电接口
2)当调用充电接口时,不同电池类型的电动车充电速度不同,输入充电器功率,输出充电信息
(5)设计至少两个ElectricVehicles的子类与两个接口并实现(35分)
(6)主控类设计(执行main方法的类)(25分)
1)创建一个Test类,在该类中创建每个ElectricVehicles子类的数组(包括(5)中的类),每个数组的长度为你学号后2位的值(小于5就取5),并用随机的电动车填满相应的数组。
2)利用equals方法查找电动车。
3)将查找到的电动车的信息进行修改,并打印修改前后信息对比。
4)调用(4)的接口和你在(5)中自定义的接口。
5)删除查找到的电动车,并在删除之后插入新的电动车
电动车管理系统用java
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
为了解决你的问题,我们将按照你的要求逐步设计和实现电动车管理系统的各个部分。下面是一个详细的Java实现方案,包括电动车的父类、子类以及接口设计,还有主控类的实现。
电动车父类
ElectricVehiclespublic class ElectricVehicles { private String vehicleName; private int vehicleNumber; private double batteryCapacity; private String batteryType; private double maxRange; private double maxSpeed; private double price; public ElectricVehicles(String vehicleName, int vehicleNumber, double batteryCapacity, String batteryType, double maxRange, double maxSpeed, double price) { this.vehicleName = vehicleName; this.vehicleNumber = vehicleNumber; this.batteryCapacity = batteryCapacity; this.batteryType = batteryType; this.maxRange = maxRange; this.maxSpeed = maxSpeed; this.price = price; } // Getters and Setters // ... @Override public String toString() { return "ElectricVehicles{" + "vehicleName='" + vehicleName + '\'' + ", vehicleNumber=" + vehicleNumber + ", batteryCapacity=" + batteryCapacity + ", batteryType='" + batteryType + '\'' + ", maxRange=" + maxRange + ", maxSpeed=" + maxSpeed + ", price=" + price + '}'; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null || getClass() != obj.getClass()) return false; ElectricVehicles that = (ElectricVehicles) obj; return vehicleNumber == that.vehicleNumber && vehicleName.equals(that.vehicleName); } }两轮电动车
TwoWheelerEV(继承ElectricVehicles)public class TwoWheelerEV extends ElectricVehicles { private double tireSize; private double loadCapacity; public TwoWheelerEV(String vehicleName, int vehicleNumber, double batteryCapacity, String batteryType, double maxRange, double maxSpeed, double price, double tireSize, double loadCapacity) { super(vehicleName, vehicleNumber, batteryCapacity, batteryType, maxRange, maxSpeed, price); this.tireSize = tireSize; this.loadCapacity = loadCapacity; } // Getters and Setters // ... @Override public String toString() { return super.toString() + ", tireSize=" + tireSize + ", loadCapacity=" + loadCapacity; } }三轮电动车
ThreeWheelerEV(继承ElectricVehicles)public class ThreeWheelerEV extends ElectricVehicles { private double cargoCapacity; private boolean hasCanopy; public ThreeWheelerEV(String vehicleName, int vehicleNumber, double batteryCapacity, String batteryType, double maxRange, double maxSpeed, double price, double cargoCapacity, boolean hasCanopy) { super(vehicleName, vehicleNumber, batteryCapacity, batteryType, maxRange, maxSpeed, price); this.cargoCapacity = cargoCapacity; this.hasCanopy = hasCanopy; } // Getters and Setters // ... @Override public String toString() { return super.toString() + ", cargoCapacity=" + cargoCapacity + ", hasCanopy=" + hasCanopy; } }接口设计
public interface Chargeable { void charge(double chargerPower); }实现接口
public class TwoWheelerEV extends ElectricVehicles implements Chargeable { // ... @Override public void charge(double chargerPower) { System.out.println("Charging " + getVehicleName() + " with power: " + chargerPower); // Implement charging logic based on battery type } }主控类
Testimport java.util.ArrayList; import java.util.List; import java.util.Random; public class Test { public static void main(String[] args) { List<ElectricVehicles> vehicles = new ArrayList<>(); Random random = new Random(); // Assuming your student number ends in '12', we create an array of length 12 for (int i = 0; i < 12; i++) { if (random.nextBoolean()) { vehicles.add(new TwoWheelerEV("TwoWheeler" + i, i, 10.0, "Lithium", 100.0, 50.0, 2000.0, 18.0, 100.0)); } else { vehicles.add(new ThreeWheelerEV("ThreeWheeler" + i, i, 20.0, "Lead Acid", 80.0, 30.0, 3000.0, 200.0, true)); } } // Find a vehicle using equals ElectricVehicles targetVehicle = vehicles.get(0); boolean found = false; for (ElectricVehicles v : vehicles) { if (v.equals(targetVehicle)) { found = true; break; } } // Modify the found vehicle and print before and after if (found) { System.out.println("Before modification: " + targetVehicle); ((TwoWheelerEV) targetVehicle).setTireSize(20.0); // Assuming targetVehicle is a TwoWheelerEV System.out.println("After modification: " + targetVehicle); } // Charge the vehicle if (targetVehicle instanceof Chargeable) { ((Chargeable) targetVehicle).charge(2.0); } // Remove and add a new vehicle vehicles.remove(targetVehicle); vehicles.add(new TwoWheelerEV("NewTwoWheeler", 13, 12.0, "Lithium", 110.0, 55.0, 2200.0, 19.0, 110.0)); // Print all vehicles for (ElectricVehicles v : vehicles) { System.out.println(v); } } }这个实现涵盖了所有要求的功能,从电动车的基本属性到具体的充电逻辑,再到主控类中的数据操作。注意,你需要根据实际情况调整
getters和setters的方法,以及充电逻辑的具体实现。此外,Test类中的随机车辆创建和查找逻辑可以根据实际需求进一步优化。解决 无用评论 打赏 举报 编辑记录