0

車のシミュレーター用に 3 つのクラスを作成する必要がある課題に取り組んでいます。1 つは燃料用、もう 1 つは走行距離用です。「マイレージ クラスは、FuelGauge オブジェクトを操作できる必要があります。24 マイル走行するごとに、FuelGauge オブジェクトの現在の燃料量を 1 ガロンずつ減らす必要があります (自動車の燃費は 1 ガロンあたり 24 マイルです)。」クラスが必要なことを実行できるように、クラスを適切にリンクする方法を理解するのに本当に苦労しています。

誰かからの良い説明は大歓迎です。

4

1 に答える 1

0

あなたの問題を正しく理解していることを願っています。簡単な答えは、FuelGauge クラスには属性 amount があり、単純なセッター/ゲッターを介してアクセスできるということです。

public class FuelGague {

    private double amount;
    // Starting amount of fuel
    public FuelGague(double amount) {
        this.amount = amount;

    }
    // Not sure if you really need this method for your solution. This is classic setter method.
    public void setAmount(double amount) {
        this.amount = amount;
    }

    public double getAmount() {
        return amount;
    }
    // I guess this is what do you actually want to do 
    public void changeAmount(double difference) {
        amount += difference;
    }

}


public class Mileage  {

       private FuelGague fuelGague;

       public Mileage(FuelGague fuelGague) {
           this.fuelGague = fuelGague;
       }
       // This will be main method where you can decrease amount for guelGague
       public void methodForMileage() {
        fuelGague.changeAmount(-1);
       }

        public FuelGague getFuelGague() {
        return fuelGague;
    }

    public void setFuelGague(FuelGague fuelGague) {
        this.fuelGague = fuelGague;
    }

     public static void main(String[] args) 
     { 
            FuelGague fuelGague= new FuelGague(50); 
            Mileage mil = new Mileage(fuelGague);     
     } 
}

ご覧のとおり、Mileage クラスにはコンストラクターで渡される FuelGague オブジェクトへの参照があり、FuelGague クラスのパブリック メソッドによって操作できます。Mileage クラスの set メソッドを追加したので、別の FuelGague クラス オブジェクトを設定することもできます。

于 2012-04-18T19:21:38.097 に答える