/** * CS151 Fall 2007 Lab #3 solution.
* Models a simple version of an automobile with fuel amount, fuel efficiency, * and mileage attributes. Fuel measured in gallons and efficiency in * miles/gallon. * * @author Scott Russell * @version 9/20/2007 */ public class Automobile { //Instance Fields/Variables //(Need not intialize since will do it in constructors) //amount of fuel in the vehicle in gallons private double fuelLevel; //amount of distance the car can travel per gallon of fuel private double fuelEfficiency; //total distance in miles the car has traveled private double mileage; //Constructors /** * Creates a new automobile with the specified efficiency. Fuel level and * mileage are initialize to 0. * @param efficiency number of miles/gallon of fuel the car can travel. */ public Automobile(double efficiency) { //initialize the efficiency to specified value fuelEfficiency = efficiency; //initialize fuel level to 0 fuelLevel = 0; //initialize mileage to 0 mileage = 0; } /** * Creates a new automobile with the specified efficiency and fuel level. * Mileage is initialized to 0. * @param efficiency number of miles/gallon of fuel the car can travel. * @param fuelAmount amount of fuel in gallons. */ public Automobile(double efficiency, double fuelAmount) { //initialize the efficiency to specified value fuelEfficiency = efficiency; //initialize fuel level to specified value fuelLevel = fuelAmount; //initialize mileage to 0 mileage = 0; } /** * Creates a new automobile with the specified efficiency, fuel level, and mileage. * @param efficiency number of miles/gallon of fuel the car can travel. * @param fuelAmount amount of fuel in gallons. * @param miles initial mileage reading in miles. */ public Automobile(double efficiency, double fuelAmount, double miles) { //initialize the efficiency to specified value fuelEfficiency = efficiency; //initialize fuel level to specified value fuelLevel = fuelAmount; //initialize mileage to specified value mileage = miles; } //Methods /** * Add the specified amount of fuel to the auto's fuel level. * @param fuelAmount number of gallons of fuel to add. */ public void addFuel(double fuelAmount) { fuelLevel = fuelLevel + fuelAmount; } /** * Simulate driving the auto the specified number of miles. * @param distance number of miles to drive. */ public void drive(double distance) { fuelLevel = fuelLevel - distance/fuelEfficiency; mileage = mileage + distance; } //get and set Methods /** * Sets the fuel amount to the specified value. * @param fuelAmount amount of fuel in gallons. */ public void setFuelLevel(double fuelAmount) { fuelLevel = fuelAmount; } /** * Gets the current fuel level. * @return current fuel level in gallons. */ public double getFuelLevel() { return fuelLevel; } /** * Sets the fuel efficiency to the specified value. * @param efficiency fuel efficiency in miles/gallon. */ public void setFuelEfficiency(double efficiency) { fuelEfficiency = efficiency; } /** * Gets the current fuel efficiency. * @return current fuel efficiency in miles/gallons. */ public double getFuelEfficiency() { return fuelEfficiency; } /** * Sets the mileage to the specified value. * @param miles mileage value. */ public void setMileage(double miles) { mileage = miles; } /** * Gets the current fuel efficiency. * @return current fuel efficiency in miles/gallons. */ public double getMileage() { return mileage; } }