Create a class named CarRental that contains fields that hol

Create a class named CarRental that contains fields that hold a renter\'s name, zip code, size of the car rented, daily rental rate, length of rental (in days), and total cost. The class contains a constructor that requires all the rental data user information (name, zip, size, length). The daily rental rate depends on the size of the car:

economy: $29.99 per day

midsize: $38.99 per day

fullsize:    $43.50 per day       

Calculate the total cost for the rental car and include a display( ) method to display all the rental information.

Create a subclass named LuxuryCarRental. This class sets the daily rental rate to $79.99 per day and prompts the user to respond to the option of including a chauffeur at and additional $200 per day. Override the parent class display( ) method to include the chauffeur fee information.

Write an application named UseCarRental that prompts the user for the data needed for a rental and creates an object of the correct type. Display the rental information with the total cost for the car.

Solution

public class CarRental {

   protected String name, zip, size;
   protected double rate, total;
   protected int days;
  
   public CarRental(String name, String zip, String size, int length) {
       super();
       this.name = name;
       this.zip = zip;
       this.size = size;
       this.days = length;
       setRate();
   }
  
   protected void setRate(){
       if(size.equals(\"economy\"))
           rate = 29.99;
       if(size.equals(\"midsize\"))
           rate = 38.99;
       if(size.equals(\"fullsize\"))
           rate = 43.50;  
   }
  
   public double getTotal(){
       return rate*days;
   }
  
   public void display(){
       System.out.println(\"Total rent = $\"+getTotal());
   }
  
}

//------------------------------------------------------------------------------

import java.util.Scanner;

public class LuxuryCarRental extends CarRental{

   double cf=0;
   public LuxuryCarRental(String name, String zip, String size, int length) {
       super(name, zip, size, length);
       rate = 79.99;
       //getChauffer();
       // TODO Auto-generated constructor stub
   }

   public void getChauffer(){
       System.out.println(\"Do you want a chauffer ? (Y /N)\");
       Scanner sc=new Scanner(System.in);
       String ch=\"N\";
       ch=sc.next();
       if(ch.equals(\"Y\")){
           cf = 200.00;
       }
       sc.close();
   }
  
   public void display(){
       System.out.println(\"Chauffer fee = $\"+days*cf);
       super.display();
   }

}

//--------------------------------------------------------------------------------------------

import java.util.Scanner;

public class UseCarRental {

   public static void main(String[] args) {
       // TODO Auto-generated method stub
      
       Scanner sc=new Scanner(System.in);
       CarRental c;
       String name, zip, size;
       int days=0;
      
       System.out.println(\"Enter your name:\");
       name = sc.nextLine();
       System.out.println(\"Enter your zip:\");
       zip = sc.nextLine();
       System.out.println(\"Enter the car size(economy,\"
               + \"midsize,fullsize or luxury): \");
       size=sc.nextLine();
       System.out.println(\"Enter the number of days:\");
       days=sc.nextInt();
      
       if(size.equals(\"luxury\")){
           c = new LuxuryCarRental(name, zip, size, days);
           ((LuxuryCarRental) c).getChauffer();
       }
       else
           c = new CarRental(name, zip, size, days);
      
       c.display();

   }

}

//---------------------------------------------------------------------------

Output:

Enter your name:
ABC
Enter your zip:
700032
Enter the car size(economy,midsize,fullsize or luxury):
economy
Enter the number of days:
12
Total rent = $359.88

Enter your name:
ABC
Enter your zip:
713212
Enter the car size(economy,midsize,fullsize or luxury):
luxury
Enter the number of days:
2
Do you want a chauffer ? (Y /N)
Y
Chauffer fee = $400.0
Total rent = $159.98

Create a class named CarRental that contains fields that hold a renter\'s name, zip code, size of the car rented, daily rental rate, length of rental (in days),
Create a class named CarRental that contains fields that hold a renter\'s name, zip code, size of the car rented, daily rental rate, length of rental (in days),
Create a class named CarRental that contains fields that hold a renter\'s name, zip code, size of the car rented, daily rental rate, length of rental (in days),

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site