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

Please I need help with this Java program! Writing it using a try and catch. Tha

ID: 3810335 • Letter: P

Question

Please I need help with this Java program! Writing it using a try and catch. Thank you!

Car Program *:

Your uncle is trying to keep track of his new-car and used-car lots by writing a Java program. He needs your help in setting up his classes.

Implement a superclass named Car that contains a price instance variable, a getPrice method, and a 1-parameter constructor. The getPrice method is a simple accessor method that returns the price instance variables value. The 1-parameter constructor receives a cost parameter and assigns a value to the price instance variable based on this formula:

price = cost * 2;

The NewCar and UsedCar classes should each contain a 2-parameter constructor, an equals method, and a display method. In the interest of elegance and maintainability, dont forget to have your subclass constructors call your superclass constructors when appropriate. The display method should print the values of all the instance variables within its class.

Provide a driver class that tests your three car classes. Your driver class should contain this main method:

public static void main(String[] args)

{

NewCar new1 = new NewCar(8000.33, "silver");

NewCar new2 = new NewCar(8000.33, "silver");

if (new1.equals(new2))

{

new1.display();

}

UsedCar used1 = new UsedCar(2500, 100000);

UsedCar used2 = new UsedCar(2500, 100000);

if (used1.equals(used2))

{

used1.display();

}

} // end main

Output:

price = $16,000.66, color = silver

price = $5,000.00, mileage = 100,000

Explanation / Answer

HI, Please find my implementtion of required classes:

public class Car {

  

   // instance variable

   private double price;

  

   public Car(double cost) {

       price = cost * 2;

   }

  

   public double getPrice(){

       return price;

   }

  

   public void display(){

       System.out.println("price = $"+price);

   }

}

class NewCar extends Car{

  

   // instance variables

   private String color;

  

   public NewCar(double cost, String color) {

       super(cost);

       this.color = color;

   }

  

   public String getColor(){

       return color;

   }

  

   public void display(){

       System.out.println("price = $"+getPrice()+", color ="+color);

   }

  

   @Override

   public boolean equals(Object obj) {

       if(obj instanceof NewCar){

           NewCar o = (NewCar)obj;

           if(getPrice() == o.getPrice() && color.equalsIgnoreCase(o.getColor()))

               return true;

       }

      

       return false;

   }

}

class UsedCar extends Car{

  

   // instance variables

   private double milage;

  

   public UsedCar(double cost, double milage) {

       super(cost);

       this.milage = milage;

   }

  

   public double getMilage(){

       return milage;

   }

  

   public void display(){

       System.out.println("price = $"+getPrice()+", mileage ="+milage);

   }

  

   @Override

   public boolean equals(Object obj) {

       if(obj instanceof UsedCar){

           UsedCar o = (UsedCar)obj;

           if(getPrice() == o.getPrice() && milage == o.getMilage())

               return true;

       }

      

       return false;

   }

}

####################################

public class CarTest {

   public static void main(String[] args)

   {

       NewCar new1 = new NewCar(8000.33, "silver");

       NewCar new2 = new NewCar(8000.33, "silver");

       if (new1.equals(new2))

       {

           new1.display();

       }

       UsedCar used1 = new UsedCar(2500, 100000);

       UsedCar used2 = new UsedCar(2500, 100000);

       if (used1.equals(used2))

       {

           used1.display();

       }

   } // end main

}

/*

Sample run:

       price = $16,000.66, color = silver

       price = $5,000.00, mileage = 100,000

   */