All pastes #1795388 Raw Edit

Mine

public text v1 · immutable
#1795388 ·published 2010-02-13 16:22 UTC
rendered paste body
/**
 * This class simulates an automobile's odometer and
 * fuel guage operations. A person can drive the car,
 * add fuel to the car.
 * 
 * @author Chuck Bates  
 * @version 02.01.2010
 */
public class Auto
{
    // instance variables 
    private int odometer;
    private double fuelGauge;
    private int tankCapacity;
    private int mpg;
    
    /**
     * Default constructor for objects of class Auto
     */
    public Auto()
    {
        // initialise instance variables
        odometer = 0;
        fuelGauge = 0;
        tankCapacity = 15;
        mpg = 25;
        System.out.println("A simple automobile for Chuck has been initialized ");
    }
    
    
    /**
     * Constructs creates an Auto with with specified 
     * values of 25mpg a fixed tankCapacity of 15. 
     * @param initMile, the mileage on the odometer 
     * @param initFuel sets the amount of fuel in Auto 
     * as long as this is less than or equal to the tanks limit
     */
    public Auto(int initMiles, double initFuel){
         
            tankCapacity = 15;
        if(initFuel <= tankCapacity){
            fuelGauge = initFuel;
            odometer = initMiles;           
            mpg = 25;
            System.out.println("A custom automobile has been initialized");
        }else{
            System.out.println("Instance not created; " + initFuel + " exceeds the tank capacity");
        }
    }
                
    /**
     * addFuel adds fuel to the tank while not 
     * allowing an overflow and updating the 
     * fuel gauge. 
     */
        public void addFuel(double amtToAdd)
        {
          if (tankCapacity >= amtToAdd + fuelGauge  ){
              fuelGauge = amtToAdd +  fuelGauge;
              System.out.println("you added " + amtToAdd + " gallons to your tank \n and now have " 
              + fuelGauge + " gallons in your tank");
            }else{
            System.out.println("Can't add " + amtToAdd + " gallons, Your tank will overflow");
        }
        }
        /**
         * drive allows the Auto to go a distance 
         * as long as that distance does not 
         * require more fuel than is available.
         * @param distance is the amount a person 
         * wants to drive Auto
         */
            
        public void drive(int distance){
        if( fuelGauge < distance / mpg){
            System.out.println("You don't have enough fuel to go " + distance + " miles");
        }else{
            System.out.println("You drove " + distance + " miles");            
            fuelGauge = fuelGauge - (float) distance / mpg; //casts int distance as a float
            odometer = odometer + distance;            
        } 
        }
        
        
        
        public void printCurrentStatus()
        {
            System.out.println("Current Status");
            System.out.println("===========================================================");
            System.out.println("odometer \t : " + odometer ); 
            System.out.println("fuel gauge \t : " + fuelGauge);
            System.out.println("===========================================================\n");
        }
            
        
        /*Dr Alsabbagh's test cases here */
        
        public static void testing()
    {
        Auto myCar = new Auto();  // instantiate an automobile object named myCar
//       
        myCar.addFuel(12);
        myCar.drive(100);
        myCar.printCurrentStatus();        
        myCar.drive(100);
        myCar.printCurrentStatus();
        myCar.drive(150);
        myCar.printCurrentStatus();        
        myCar.addFuel(13);
        myCar.printCurrentStatus();
        myCar.addFuel(10);
        myCar.printCurrentStatus();
//
        Auto yourCar = new Auto(1000, 16); // instantiate an automobile object named yourCar     
        Auto herCar = new Auto(1000, 10);  // instantiate an automobile object named herCar
        herCar.printCurrentStatus();        
    }       
}