بعد أن قمنت بإضافة المميزات لتعبئة السيارة، المطلوب منك في هذا التحدي تحريك السيارة عن طريق استهلاك البنزين.
تأكد من قراءة الكود جيدا مع مراعاة قراءة التعليقات، لأن ذلك سيفيدك في حل التحدي.
في حالة نجاح الدالة drive وإرجاع القيمة true يجب إنقاص قيمة المتغير fuelAmount بكمية البنزين التي تم استهلاكها لمسافة 1كم.
ملاحظة: قم باستخدام الدالة calculateFuelConsumption لمعرفة كمية البنزين التي تم استهلاكها لمسافة 1 كم
-
public class Sayara {
-
public static final double MAX_FUEL_IN_LITERS = 50;
-
// الثابت يمثل سعة البنزين باللتر لكل 100 كم، يستخدم لتعريف سعة استهلاك البنزين
-
public static final double MILEAGE_IN_L_PER_100KM = 10;
-
private String carType;
-
private double fuelAmount;
-
public Sayara(String carType) {
-
this.carType = carType;
-
this.fuelAmount = 1;
-
}
-
public void refuel() {
-
this.fuelAmount = MAX_FUEL_IN_LITERS;
-
}
-
public double getFuelAmount() {
-
return fuelAmount;
-
}
-
// الدالة ينتج عنها سعة استهلاك البنزين. ومعاملها يمثل المسافة
-
private double calculateFuelConsumption(double distance) {
-
return (distance/100) * MILEAGE_IN_L_PER_100KM;
-
}
-
// الدالة تحسب المسافة التي يمكن للسيارة قطعها مع ما تبقى من بنزين
-
private double getRemainingDistance() {
-
return (fuelAmount * 100) / MILEAGE_IN_L_PER_100KM;
-
}
-
// الدالة drive تستخدم لتحريك السيارة مسافة 1 كم
-
public boolean drive() {
-
boolean drove = false;
-
/*أضف الجملة الشرطية هنا*/
-
if(getRemainingDistance()<=1) {
-
fuelAmount=MILEAGE_IN_L_PER_100KM;
-
drove=true;
-
}
-
return drove;
-
}
-
private boolean calculateFuelConsumption(boolean drive) {
-
return (fuelAmount/100) * MILEAGE_IN_L_PER_100KM;
-
}
-
}