Inheritance 我应该如何编写满足要求的方法-抽象类

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

注意:我已经做了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 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我在课堂上没有看到它…谢谢乔为我编辑它!!