フィールドのSimpleCar[] carsを初期化したいのですが、その方法がわかりません。(該当箇所はコメントで書いてあります。)
class FuelConsumptionCalculation { private double fuelConsumptionOldRegulation = 0; private double fuelConsumptionNewRegulation = 0; private SimpleCar[] cars; FuelConsumptionCalculation() { DeluxeCar del_1 = new DeluxeCar("Honda",14.0f,10.5f); AdvancedCar ad = new AdvancedCar("Toyota",15.5f,9.5f); SimpleCar sim = new SimpleCar("Nissan",13.0f); DeluxeCar del_2 = new DeluxeCar("Van(Nissan)",10.5f,6.0f); SimpleCar[] cars = {del_1, ad, sim, del_2};//ここです。 del_1.setReport(200, 7, 18, 8); ad.setReport(200, 7, 18); sim.setReport(200); del_2.setReport(200, 7, 18, 8); calculateFuelConsumption();//20行目 } private void calculateFuelConsumption() { for(int i = 0; i < cars.lemgth; i++){//28行目 fuelConsumptionOldRegulation += cars[i].calculateFuelConsumptionOldRegulations(); fuelConsumptionNewRegulation += cars[i].calculateFuelConsumptionNewRegulations(); } } float getFuelConsumptionOldRegulations() { return (float)fuelConsumptionOldRegulation; } float getFuelConsumptionNewRegulations() { return (float)fuelConsumptionNewRegulation; } public static void main(String[] args){ float difference; FuelConsumptionCalculation fcc = new FuelConsumptionCalculation();//44行目 difference = fcc.getFuelConsumptionOldRegulations() - fcc.getFuelConsumptionNewRegulations(); System.out.println("The difference is "+difference+"."); } }
試しにコンストラクタの部分の初期化を以下のようにしたら大量のエラーを輩出してしまいました。
this.cars = {del_1, ad, sim, del_2};
どうすればフィールド変数を初期化できるのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/31 16:16