mirror of
https://github.com/danbulant/introductionToProgramming
synced 2026-05-19 04:18:32 +00:00
29 lines
632 B
Java
29 lines
632 B
Java
public class GasolineCar implements Vehicle {
|
|
/** liters */
|
|
double fuel;
|
|
/** km per liter */
|
|
final double mileage;
|
|
|
|
/**
|
|
* @param mileage km per liter
|
|
*/
|
|
GasolineCar(double mileage) {
|
|
this.mileage = mileage;
|
|
}
|
|
|
|
@Override
|
|
public int getRemainingRange() {
|
|
return (int)Math.floor(fuel * mileage);
|
|
}
|
|
|
|
@Override
|
|
public int drive(int kms) {
|
|
var range = getRemainingRange();
|
|
var toDrive = Math.min(range, kms);
|
|
// l = 1/(km/l) * km
|
|
var consumption = 1./mileage * toDrive;
|
|
fuel -= consumption;
|
|
|
|
return toDrive;
|
|
}
|
|
}
|