instance variable stay long, but local variable only stay short term.
public class CarTester { public static void main(String[] args) { Car car = new Car(); // TODO: Add 20 gallons and drive 100 miles car.addGas(20); car.drive(100); // TODO: Print actual and expected gas level System.out.println("Expected:18"); System.out.println(car.getGasInTank()); } }
public class Car { private double milesDriven; private double gasInTank; private double milesPerGallon; public Car() { milesDriven = 0; gasInTank = 0; milesPerGallon = 50; } /** Drives this car by a given distance. @param distance the distance to drive */ public void drive(double distance) { milesDriven = milesDriven + distance; double gasConsumed = distance / milesPerGallon; gasInTank = gasInTank - gasConsumed; } public void addGas(double amount) { gasInTank = gasInTank + amount; } /** Gets the current mileage of this car. @return the total number of miles driven */ public double getMilesDriven() { return milesDriven; } /** Gets the current amount of gas in the tank of this car. @return the current gas level */ public double getGasInTank() { return gasInTank; } }