From 7d5e3e79e4096e8fdc1c54830a2abe37eaf4fc97 Mon Sep 17 00:00:00 2001 From: "retro :3" Date: Sun, 27 Sep 2026 15:35:46 -0700 Subject: [PATCH] added all the code (Sorry I didn't commit more) --- build.gradle | 2 +- .../java/org/frc8033/assessment/car/Car.java | 6 +++++ .../org/frc8033/assessment/car/GasCar.java | 26 +++++++++++++++++++ .../frc8033/assessment/car/HondaAccord.java | 15 +++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/frc8033/assessment/car/Car.java create mode 100644 src/main/java/org/frc8033/assessment/car/GasCar.java create mode 100644 src/main/java/org/frc8033/assessment/car/HondaAccord.java 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; + } +}