From d0741924a8026ea88ab942fbf58b0cab968805cd Mon Sep 17 00:00:00 2001 From: Aram Zaroukian Date: Sun, 27 Sep 2026 14:56:19 -0700 Subject: [PATCH 1/2] Created the interface, GasCar, and HondaAccord files in the car package, which satisfied all the requirements and passed the tests. --- .../java/org/frc8033/assessment/Main.java | 1 - .../frc8033/assessment/car/CarInterface.java | 8 ++++++ .../org/frc8033/assessment/car/GasCar.java | 27 +++++++++++++++++++ .../frc8033/assessment/car/HondaAccord.java | 16 +++++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/frc8033/assessment/car/CarInterface.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/src/main/java/org/frc8033/assessment/Main.java b/src/main/java/org/frc8033/assessment/Main.java index 1cc7818..cea0053 100644 --- a/src/main/java/org/frc8033/assessment/Main.java +++ b/src/main/java/org/frc8033/assessment/Main.java @@ -1,7 +1,6 @@ package org.frc8033.assessment; public class Main { - public static void main(String[] args) { System.out.println("Hello, world!"); } diff --git a/src/main/java/org/frc8033/assessment/car/CarInterface.java b/src/main/java/org/frc8033/assessment/car/CarInterface.java new file mode 100644 index 0000000..d8313d7 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/CarInterface.java @@ -0,0 +1,8 @@ +package org.frc8033.assessment.car; + +public class CarInterface { + public interface Car { + public float getRangeMi(); + public void drive(float distance); + } +} 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..0245c73 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/GasCar.java @@ -0,0 +1,27 @@ +package org.frc8033.assessment.car; +import org.frc8033.assessment.car.CarInterface.Car; + +public class GasCar implements Car { + private final float tankSize; + private final float mileage; + private float gasInTank; + public GasCar(float tankSize, float mileage){ + this.tankSize = tankSize; + this.mileage = mileage; + this.gasInTank = tankSize; + } + public float getRangeMi() { + return this.gasInTank * this.mileage; + } + public void fillTank(){ + this.gasInTank = this.tankSize; + } + public void drive(float distance){ + float fuelUsed = distance / this.mileage; + if (this.gasInTank - fuelUsed > 0){ + this.gasInTank -= fuelUsed; + } else { + this.gasInTank = 0; + } + } +} 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..8004422 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/HondaAccord.java @@ -0,0 +1,16 @@ +package org.frc8033.assessment.car; + +public class HondaAccord extends GasCar { + private final boolean stock; + public HondaAccord(){ + super(15,32); + this.stock = true; + } + public HondaAccord(float tankSize, float mileage){ + super(tankSize,mileage); + this.stock = false; + } + public boolean isStock() { + return this.stock; + } +} From 0bb02d20f7e0c6d93691baac94a67ce4148197ce Mon Sep 17 00:00:00 2001 From: Aram Zaroukian Date: Sun, 27 Sep 2026 15:39:20 -0700 Subject: [PATCH 2/2] Added a check to set it as stock if the arguments passed are the default. --- src/main/java/org/frc8033/assessment/car/HondaAccord.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/frc8033/assessment/car/HondaAccord.java b/src/main/java/org/frc8033/assessment/car/HondaAccord.java index 8004422..7f9e563 100644 --- a/src/main/java/org/frc8033/assessment/car/HondaAccord.java +++ b/src/main/java/org/frc8033/assessment/car/HondaAccord.java @@ -8,7 +8,11 @@ public HondaAccord(){ } public HondaAccord(float tankSize, float mileage){ super(tankSize,mileage); - this.stock = false; + if (tankSize != 15 && mileage != 32) { + this.stock = false; + } else { + this.stock = true; + } } public boolean isStock() { return this.stock;