From ac56aaf9928f5286a5cb7a5cb93f95cb5b42a2dc Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Fri, 17 Apr 2026 12:19:09 +0000 Subject: [PATCH] [Sync Iteration] java/need-for-speed/1 --- .../1/src/main/java/NeedForSpeed.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 solutions/java/need-for-speed/1/src/main/java/NeedForSpeed.java diff --git a/solutions/java/need-for-speed/1/src/main/java/NeedForSpeed.java b/solutions/java/need-for-speed/1/src/main/java/NeedForSpeed.java new file mode 100644 index 00000000..0934d3dc --- /dev/null +++ b/solutions/java/need-for-speed/1/src/main/java/NeedForSpeed.java @@ -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; + } +}