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..7f9e563 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/HondaAccord.java @@ -0,0 +1,20 @@ +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); + if (tankSize != 15 && mileage != 32) { + this.stock = false; + } else { + this.stock = true; + } + } + public boolean isStock() { + return this.stock; + } +}