Inheritance 我应该如何编写满足要求的方法-抽象类
注意:我已经做了A,B,C。所以我要的是D部分Inheritance 我应该如何编写满足要求的方法-抽象类,inheritance,interface,abstract,extend,Inheritance,Interface,Abstract,Extend,注意:我已经做了A,B,C。所以我要的是D部分 I have no idea how to write it? Is anyone can help me? 考虑以下类别: public abstract class Vehicle { public boolean startEngine() {/* code */ } public abstract int getMaxSpeed(); public abstract double getVehicleV
I have no idea how to write it? Is anyone can help me?
考虑以下类别:
public abstract class Vehicle {
public boolean startEngine() {/* code */ }
public abstract int getMaxSpeed();
public abstract double getVehicleValue();
}
public interface Rentable {
public double getWeeklyRate();
}
public interface UsesPremiumGas {
public void fillTankWithPremiumGas(double gallons);
}
public class Car extends Vehicle implements Rentable {/*code*/}
public class FancyCar extends Car implements UsesPremiumGas { /* code */ }
public class Bus extends Vehicle { /* code */ }
回答以下问题(必须意味着代码可以编译)
a) 在Car类中必须实现哪些方法
b) 在FancyCar类中必须实现哪些方法
c) 总线类中必须实现哪些方法
d) 上述类别用于为公司拥有的车队建模
完成以下方法,打印可租赁车队车辆的最便宜周费率?在没有车辆可以出租的情况下,方法应如此说明
/**
* Prints the cheapest weekly rate available among a fleet
* of vehicles, or prints that no vehicle can be rented.
* @param fleet the list of vehicles
*/
public void printCheapestWeeklyRate(ArrayList<Vehicle>fleet) {}
/**
*打印车队中最便宜的周费率
*车辆,或打印出任何车辆都无法租用。
*@param车队车辆列表
*/
公共无效打印最便宜的周报(ArrayListfleet){}
对于ArrayList中的每辆车,检查它是否是可租用界面的实例
if(vehicle instanceof Rentable){...}
为所有可出租实例的车辆调用方法getWeeklyRate()
,并将每周费率存储在以车辆对象为键的地图中
如果地图是空的,则“不能租用车辆”
否则,请从地图中找到最小值,相应的车辆是最便宜的租赁车辆
您可以尝试以下代码:
public void printCheapestWeeklyRate(ArrayList<Vehicle> fleet)
{
Map<Vehicle,Double> rateMap = new HashMap<Vehicle,Double>();
for(Vehicle vehicle : fleet)
{
if(vehicle instanceof Rentable)
{
rateMap.put(vehicle, vehicle.getWeeklyRate());
}
}
if(rateMap.isEmpty()) // No vehicle is rentable
{
System.out.println("No vehicle is available for rent");
}
else // Some vehicles are rentable
{
Vehicle cheapestVehicle;
Double min = Double.valueOf(Double.POSITIVE_INFINITY);
for(Map.Entry<Vehicle, Double> m : rateMap.entrySet()) // Get the cheapest vehicle
{
if(min.compareTo(m.getValue()) > 0)
{
cheapestVehicle = m.getKey();
}
}
// Print what you want as output using **cheapestVehicle**
}
}
public void print weeklyrate(ArrayList车队)
{
Map rateMap=newhashmap();
用于(车辆:车队)
{
if(可租用车辆实例)
{
rateMap.put(vehicle,vehicle.getWeeklyRate());
}
}
if(rateMap.isEmpty())//没有车辆可出租
{
System.out.println(“没有车辆可供出租”);
}
否则//有些车辆可以出租
{
车辆最便宜的车辆;
Double min=Double.valueOf(Double.POSITIVE_∞);
for(Map.Entry m:rateMap.entrySet())//获取最便宜的车辆
{
如果(min.compareTo(m.getValue())>0)
{
最便宜的车辆=m.getKey();
}
}
//使用**最便宜的车辆打印您想要的输出**
}
}
我不知道该方法将在哪个类下。。。这很重要吗?这取决于你希望使用这种方法的方式。谢谢你…我正在读这篇文章,并试图让自己明白…^但是当你写这篇文章时。。。。您将假定将此方法放入哪个类?因为我知道你的想法,但有些语法我现在不知道。(我是一个初学者…哈)我知道每个循环…但我不知道地图…还有很多syxtax我在课堂上没有看到它…谢谢乔为我编辑它!!