[Sync Iteration] java/need-for-speed/1

This commit is contained in:
exercism-solutions-syncer[bot] 2026-04-17 12:19:09 +00:00 committed by GitHub
parent f80fbca12e
commit ac56aaf992
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -0,0 +1,47 @@
class NeedForSpeed {
private int speed;
private int batteryDrain;
private int metersDriven;
private int battery;
NeedForSpeed(int speed, int batteryDrain) {
this.speed = speed;
this.batteryDrain = batteryDrain;
this.metersDriven = 0;
this.battery = 100;
}
public boolean batteryDrained() {
return battery < batteryDrain;
}
public int distanceDriven() {
return metersDriven;
}
public void drive() {
if (battery - batteryDrain < 0) {
return;
}
battery -= batteryDrain;
metersDriven += speed;
}
public static NeedForSpeed nitro() {
return new NeedForSpeed(50 ,4);
}
}
class RaceTrack {
private int distance;
RaceTrack(int distance) {
this.distance = distance;
}
public boolean canFinishRace(NeedForSpeed car) {
while (!car.batteryDrained()) {
car.drive();
}
return car.distanceDriven() >= distance;
}
}