Question: please answer in java Background: A rental car company has hired you to build an inventory system to keep track of their vehicles. The company,




Background: A rental car company has hired you to build an inventory system to keep track of their vehicles. The company, Acme Car Rentals, rents 3 classes of cars: Economy, Midsized and SUVs. Each rents for a different price. Their initial inventory is as follows: Type Make Model Color Current Mileage Rental Rate Blue 105 8422 Economy Nissan Economy Toyota Midsized Dodge Midsized Ford SUV Toyota Versa Yaris Avenger Focus Rav4 Original Cost $14,500 $17,500 $15,000 $14,500 $26,150 White Green Yellow Silver 15720 $25/day $25/day $45/day $45/day $80/day 2368 432 Classes you must create: Define a Vehicle class It should have attributes for make, model color, current mileage, original cost, and a boolean that keeps track of whether the vehicle is currently rented. . It should have getters/setters for each attribute. It must have a constructor to set all attributes. It should have an override for toString or ToString which returns a string similar to: Available: Blue Nissan Versa with 105 miles Rented: Blue Nissan Versa with 105 miles Define an Economy_Car class. It should inherit from Vehicle It should have an attribute daily_rental_rate. Create a constructor which takes in make, model, color, current mileage, original cost, and daily rental rate. Create an override for toStringToString which prints: Economy Car: Rented: Blue Nissan Versa with 105 miles Note most of this is just the text that your parent class prints. Define a Midsize_Car class. It should inherit from Vehicle. It should have an attribute daily_rental_rate. Create a constructor which takes in make, model, color, current mileage, original cost, and daily rental rate. Create an override for toString/ToString which prints: Midsized Car. Available: Green Dodge Avenger with 15720 miles Note: Most of this is just the text that your parent class prints. Define a SUV class. It should inherit from Vehicle. o It should have an attribute daily_rental_rate. Create a constructor which takes in make, model, color, current mileage, original cost, and daily rental rate. o Create an override for toString/ToString which prints: SUV: Available: Silver Toyota RAV4 with 432 miles Note: Most of this is just the text that your parent class prints. Driver Program: In your driver class, create an ArrayList/List of Vehicles. Add each of the vehicles in the table above to your ArrayList/List Create a method show_cars which takes in the ArrayList/List and prints out all of the vehicles in a menu like this: 0. Return 1. Economy Car. Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car. Available: Green Dodge Avenger with 15720 miles 4. Midsized Car. Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles Create a method rent_cars . Using a loop. prompt the user to: "Choose a car to rent:". Call the show_cars() method above to produce a menu. Read in a response, so long as it's not 0, mark the chosen car as rented. Create a method return_cars Using a loop, prompt the user to: "Choose a car to rent: Call the show_cars() method above to produce a menu. Read in a response, so long as it's not 0, mark the chosen car as available. Produce a main menu that looks like this: 1. Rent cars 2. Return cars 3. Quit Read in a choice and call the appropriate method above as long as the user doesn't choose 3. Sample Output: 1. Rent cars 2. Return cars 3. Quit 1 Choose a car to rent: 0. Return 1. Economy Car. Available: Blue Nissan Versa with 105 miles 2. Economy Car. Available: White Toyota Yaris with 8422 miles 3. Midsized Car. Available: Green Dodge Avenger with 15720 miles 4. Midsized Car. Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 1 Choose a car to rent: O. Return 1. Economy Car Rented: Blue Nissan Versa with 105 miles 2. Economy Car. Available: White Toyota Yaris with 8422 miles 3. Midsized Car. Available: Green Dodge Avenger with 15720 miles 4. Midsized Car. Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 3 Choose a car to rent: 0. Return 1. Economy Car Rented: Blue Nissan Versa with 105 miles 2. Economy Car. Available: White Toyota Yaris with 8422 miles 3. Midsized Car Rented: Green Dodge Avenger with 15720 miles 4. Midsized Car. Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 0 1. Rent cars 2. Retur cars 3. Quit 2 Choose a car to return; 0. Return 1. Economy Car. Rented: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car Rented: Green Dodge Avenger with 15720 miles 4. Midsized Car. Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 1 Choose a car to return: 0. Return 1. Economy Car: Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car Rented: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 3 Choose a car to return: 0. Return 1. Economy Car: Available: Blue Nissan Versa with 105 miles 2. Economy Car: Available: White Toyota Yaris with 8422 miles 3. Midsized Car: Available: Green Dodge Avenger with 15720 miles 4. Midsized Car: Available: Yellow Ford Focus with 2368 miles 5. SUV: Available: Silver Toyota RAV4 with 432 miles 0 1. Rent cars 2. Return cars 3. Quit 3 Rubric: Vehicle Class (45 points total) Original_cost attribute+getter setter (5 points) Miles attribute getter/setter (5 points) Make attributegetterisetter (5 points) Model attribute-getter/setter(5 points) o Color attribute gotter/setter(5 points) Rented attribute-gettersetter(5 points) Constructor (10 points total) 5 parameters (1 point each) Set the 5 attributes (1 point each) toString ToString override (5 points) Economy Car Class (10 points total) daily_rental_rate attribute (2 points) Constructor (6 points total) 6 parameters are taken in and set (1 point each) toString ToString override (2 points) Midsized_Car Class (10 points total) daily_rental_rate attribute (2 points) Constructor (6 points total) 6 parameters are taken in and set (1 point each) toString/ToString override (2 points) SUV Class (10 points total) daily_rental_rate attribute (2 points) Constructor (6 points total) 6 parameters are taken in and set (1 point each) toString/ToString override (2 points) Driver Class (25 points total) show_cars() method (3 points total) Use a loop/foreach loop to print the vehicles (3 points) rent_cars() method (5 points total) Prompt and read user response (2 points) Successfully update rented attribute in selected car (3 points) return_cars() method (5 points total) Prompt and read user response (2 points) Successfully update rented attribute in selected car (3 points) ArrayList/List created (5 points) 5 cars added per the table at the top of this doc (5 points total) Main menu (2 points)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
