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..b4a8ab7 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/Car.java @@ -0,0 +1,6 @@ +package org.frc8033.assessment.car; + +public interface Car { + public double getRangeMi(); + public void drive(double 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..b2e5e88 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/GasCar.java @@ -0,0 +1,43 @@ +package org.frc8033.assessment.car; + +public class GasCar implements Car { + private double tankSize; + private double gasMilage; + private double gasInTank; + + public GasCar(double tankSize, double gasMilage) { + this.tankSize = tankSize; + this.gasMilage = gasMilage; + this.gasInTank = tankSize; + } + + public double getRangeMi() { + return gasInTank*gasMilage; + } + + public void drive(double miles) { + double maxRange = getRangeMi(); + if (miles >= maxRange) { + gasInTank = 0; + } else { + gasInTank -= (miles / gasMilage); + } + } + + public void fillTank() { + this.gasInTank = tankSize; + } + + public double getTankSize() { + return this.tankSize; + } + + public double getGasMileage() { + return this.gasMilage; + } + + public double getGasInTank() { + return this.gasInTank; + } + +} 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..50a2c55 --- /dev/null +++ b/src/main/java/org/frc8033/assessment/car/HondaAccord.java @@ -0,0 +1,13 @@ +package org.frc8033.assessment.car; + +public class HondaAccord extends GasCar { + public HondaAccord() { + super(15, 32); + } + public HondaAccord(double tankSize, double gasMilage) { + super(tankSize, gasMilage); + } + public boolean isStock() { + return (getTankSize() == 15 && getGasMileage() == 32); + } +}