diff --git a/build.gradle b/build.gradle index 60715fd..ffbd5c4 100644 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ dependencies { // Apply a specific Java toolchain to ease working on different environments. java { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(17) } } diff --git a/src/main/java/org/frc8033/assessment/car/Car.java b/src/main/java/org/frc8033/assessment/car/Car.java new file mode 100644 index 0000000..109cd95 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/Car.java @@ -0,0 +1,6 @@ +package org.frc8033.assessment.car; + +public interface Car { + float getRangeMi(); + void drive(float distMi); +} diff --git a/src/main/java/org/frc8033/assessment/car/GasCar.java b/src/main/java/org/frc8033/assessment/car/GasCar.java new file mode 100644 index 0000000..469d434 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/GasCar.java @@ -0,0 +1,26 @@ +package org.frc8033.assessment.car; + +class GasCar implements Car { + final float tankSize; + float gasMileage; + float currGas; + + public GasCar(float tankSize, float gasMileage) { + this.tankSize = tankSize; + this.gasMileage = gasMileage; + this.currGas = tankSize; + } + + public void drive(float distMi) { + currGas = currGas - distMi/gasMileage < 0 ? 0 : currGas - distMi/ gasMileage; + } + + public float getRangeMi() { + return currGas * gasMileage; + } + + public void fillTank() { + currGas = tankSize; + } + +} \ No newline at end of file diff --git a/src/main/java/org/frc8033/assessment/car/HondaAccord.java b/src/main/java/org/frc8033/assessment/car/HondaAccord.java new file mode 100644 index 0000000..682bfcb --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/HondaAccord.java @@ -0,0 +1,15 @@ +package org.frc8033.assessment.car; + +public class HondaAccord extends GasCar { + public HondaAccord() { + super(15, 32); + } + + public HondaAccord(int tankSize, int gasMileage) { + super(tankSize, gasMileage); + } + + public boolean isStock() { + return this.tankSize == 15 && this.gasMileage == 32; + } +}