Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

JAVA Program Help Project 1: Odometer Define a class called Odometer that will b

ID: 645032 • Letter: J

Question

JAVA Program Help

Project 1: Odometer

Define a class called Odometer that will be used to track fuel and mileage for an automobile. The class should have instance variables to track the miles driven and the fuel efficiency of the vehicle in miles per gallon. Include the following methods:

- toString method

- reset the odometer to 0 miles

- set the fuel efficiency when given a value in miles per gallon

- adds miles to the odometer when given a value for miles driven

- equals method

- returns the number of gallons of gasoline consumed (gallons = miles / mpg)

Create a separate tester class that creates several trips with different fuel efficiencies.

Explanation / Answer

//Odometer class definition

//Odometer.java
public class Odometer
{
   //instace variables
   private int mileage;
   private int miles;
  

   //set contructor miles to zero
   //and initial mileage to 20 mph(miles per hour)
   public Odometer()
   {
       miles=0;
       //set initializ mileage to 20
       mileage=20;
   }

   //reset miles to zero
   public void reset()
   {      
       miles=0;
      
   }  
   //returns mileage
   public int getMileage()
   {
       return mileage;
   }
   //returns miles
   public int getMiles()
   {
       return miles;
   }
  
      
   //Override the equals method that returns true
   //if the Object is miles and mileage are equal
   //to class miles and mileage
   @Override
   public boolean equals(Object obj)
   {
       //Cast to odometer class
       Odometer other=(Odometer)obj;
      
       //check if the miles,mileage and gallons
       //are equal of object of Odometer
       if(this.miles==other.getMiles() &&
               this.mileage==other.getMileage())
               return true;
           else
               return false;
      
   }
  

   //Returns the string represenation of Odometer
   @Override
   public String toString() {      
       return "Miles : "+getMiles()
               +" Mileage : "+getMileage();
   }

   //add miles
   public void milesDriven(int miles)
   {
       this.miles+=miles;
      
   }

   //Set mileage (fuel efficiency)
   public void setFuelEfficiency(int mileage)
   {
       this.mileage=mileage;      
   }

   //returns gas used
   public int getGasUsed()
   {
      
       return miles/mileage;
   }
}


---------------------------------------------------------------------------------------------------------------------------------------


//Test program that tests the odometer class
//and prints the results of each object
//OdometerDriver.java
public class OdometerDriver
{
    public static void main( String[] args )
    {
       // instantiate an vehicle odometer
        Odometer oldCar = new Odometer( );         

        //add miles to the oldCar object
        oldCar.milesDriven( 50 );                       
        oldCar.milesDriven( 130 );
        oldCar.milesDriven( 40 );
        oldCar.milesDriven( 200 );
        oldCar.milesDriven( 300 );

        System.out.println("Odometer Reading");
        System.out.println(oldCar.toString());
        System.out.println( "The amount of gas used at 20 mph is " +
                            oldCar.getGasUsed( ) );

        Odometer newCar = new Odometer( );   // instantiate an new car's odometer      
      
        //set fuelefficiency
        newCar.setFuelEfficiency( 35 );

      //add miles to the oldCar object
        newCar.milesDriven( 50 );            // drive the new car four times           
        newCar.milesDriven( 130 );
        newCar.milesDriven( 40 );
        newCar.milesDriven( 200 );
        newCar.milesDriven( 300 );

        System.out.println("Odometer Reading");
        System.out.println(newCar.toString());
        System.out.println( "The amount of gas used at 35 mph is " +
                            newCar.getGasUsed( ) );

        //Call reset metod to reset the number of miles driven by new car
        newCar.reset();                   
        // reset the new car's odometer to 40mi/l
        newCar.setFuelEfficiency( 40 );
      
     // add miles to the new car
        newCar.milesDriven( 30 );                        
        newCar.milesDriven( 200 );
        newCar.milesDriven( 80 );
        newCar.milesDriven( 35 );
        newCar.milesDriven( 60 );
        newCar.milesDriven( 500 );

        System.out.println("Odometer Reading");
        System.out.println(newCar.toString());
        System.out.println( "The amount of gas used at 40 mph is " +
                            newCar.getGasUsed( ) );
      
      
        if(oldCar.equals(newCar))
           System.out.println("oldCar miles and mileage equals newCar miles and mileage ");
        else
           System.out.println("oldCar miles and mileage not equals newCar miles and mileage ");
      
      
      
      
      

    }
}

------------------------------------------------------------------------------------------------------------------------

Sample output:

Odometer Reading
Miles : 720
Mileage : 20
The amount of gas used at 20 mph is 36
Odometer Reading
Miles : 720
Mileage : 35
The amount of gas used at 35 mph is 20
Odometer Reading
Miles : 905
Mileage : 40
The amount of gas used at 40 mph is 22
oldCar miles and mileage not equals newCar miles and mileage

Hope this helps you