Question: IN JAVA CODE PLEASE Please note that you are not required to implement your own generic classes for this problem. A Car dealership is attempting
IN JAVA CODE PLEASE
Please note that you are not required to implement your own generic classes for this problem.
A Car dealership is attempting to shift their business online and automate part of the job normally performed by people in their sales department. The project has been dubbed the AutoAutoSalesman.
Your task is to create a class called AutoAutoSalesman that will:
- Keep track of available Car inventory (classes are provided for you).
- Make car recommendations based on criteria provided by prospective buyers.
AutoAutoSalesman must have the following:
- A collection that holds all of the available cars. This collection is passed as the single argument to the only constructor.
-
Auto recommendations can be based on several criteria. The criteria are: pricePoint, priceRange, ecoFriendly, style.
Any combination of criteria may be selected by the customer, except pricePoint and priceRange, these arguments are always provided together. For example: the customer may select the price (pricePoint and priceRange) and style criteria. The recommendation algorithm would then make recommendations based on only these criteria. Another example: price may be unimportant and the customer only provided ecoFriendly.
- getReco()
- This is the method(s) that will return a collection of Cars meeting the criteria specified in the arguments.
- Cars meeting the provided criteria should be determined as follows:
- pricePoint, priceRange: returned Cars must be within +-(priceRange/2) of the pricePoint. For example: a pricePoint and priceRange of 40000 and 10000 should yield only Cars priced between 35000 and 45000.
- style: returned Cars must have the same style (String) as the one specified.
- ecoFriendly: returned Cars must have a fuelEconomy below 6.0 (litres/100km) if true. If false no preference should be made.
MAIN CLASS
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { // example List cars = new ArrayList<>( Arrays.asList( new FordBronco("sport", 50000, 8), new FordBronco("turbo", 58000, 10), new FordBronco("turbo-sport", 55000, 9.2), new TeslaS("sedan", 65000, 0), new TeslaS("sedan", 68000, 0), new TeslaS("sport", 75000, 0), new TeslaS("sport", 70000, 0), new KiaRio("hatchback", 18000, 5.1), new KiaRio("hatchback", 15000, 5.8), new KiaRio("sedan", 18000, 5.1), new KiaRio("sedan", 19000, 5.3), new KiaRio("turbo", 25000, 15.1) ) ); AutoAutoSalesman aas = new AutoAutoSalesman(cars); } }
CAR CLASS
public class Car { private final String style; private final double price; private final double fuelEconomy; public Car(String style, double price, double fuelEconomy) { this.style = style; this.price = price; this.fuelEconomy = fuelEconomy; } public String getStyle() { return style; } public double getPrice() { return price; } public double getFuelEconomy() { return fuelEconomy; } public void goes() { System.out.println("Vroom"); } @Override public String toString() { return this.getClass().toString() + " " + getStyle() + " " + getPrice() + " " + getFuelEconomy(); } } FORDBRONCO CLASS
public class FordBronco extends Car { public FordBronco(String style, double price, double fuelEconomy) { super(style, price, fuelEconomy); } @Override public void goes() { System.out.println("VROOM"); } } KIARIO CLASS
public class KiaRio extends Car { public KiaRio(String style, double price, double fuelEconomy) { super(style, price, fuelEconomy); } @Override public void goes() { System.out.println("Clunk"); } } TESLAS CLASS
public class TeslaS extends Car { public TeslaS(String style, double price, double fuelEconomy) { super(style, price, fuelEconomy); } @Override public void goes() { System.out.println(""); } } Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
