Complete the // TODO sections in the EasyRentalclass.
- Create a method that implements an iterative sort that sortsthe vehicle rentals by color in ascending order (smallest tolargest)
- Create a method to binary search for a vehicle based on acolor, that should return the index where the vehicle was found or-1
You are comparing Strings in an object not integers.
Ex. If the input is:
brown red white blue black -1
the output is:
Enter the colors of the vehicles you would like to search for on the same line followed by a -1There are no rentals in brownThere are 7 compact Jeep's in redThere are no rentals in whiteThere are 5 economy Fiat's in blueThere are 5 compact Scion's in blackDone
These are the given classes with code:
CarRentals.java
import java.util.Scanner;
public class CarRentals {
  public static void main(String[] args) {
     Scanner scrn = newScanner(System.in);
     EasyRental ezRent = newEasyRental();
    Â
     // this section passes the make,the color, the size, and the number of vehicles in stock
     // to the addVehicle method whichadds the data to an arrayList in the EasyRental class
     ezRent.addVehicle(\"Ford\", \"orange\",\"mid-size\", 3);
     ezRent.addVehicle(\"Fiat\", \"blue\",\"economy\", 5);
     ezRent.addVehicle(\"Toyota\", \"grey\",\"compact\", 6);
     ezRent.addVehicle(\"Saab\", \"canary\",\"mid-size\", 2);
     ezRent.addVehicle(\"Nissan\",\"silver\", \"economy\", 1);
     ezRent.addVehicle(\"Jeep\", \"red\",\"compact\", 7);
     ezRent.addVehicle(\"Honda\",\"indigo\", \"economy\", 4);
     ezRent.addVehicle(\"Dodge\", \"tan\",\"mid-size\", 1);
     ezRent.addVehicle(\"Chevy\",\"turquoise\", \"full-size\", 2);
     ezRent.addVehicle(\"Scion\", \"black\",\"compact\", 5);
     // sort the data based oncolor
     ezRent.sort();
       Â
     System.out.println(\"Enter thecolors of the vehicles you would like to search for on the sameline followed by a -1\");
     String color = scrn.next();
     System.out.println();
     while(!color.equals(\"-1\")) {
        int index =ezRent.binarySearch(color);
        if(index == -1){
           System.out.println(\"There are no rentals in \" +color);
        }
        else {
           System.out.println(ezRent.printVehicleInfo(index));
        }
        color =scrn.next();
     }
     System.out.println();
     System.out.println(\"Done\");
  }
}
EasyRental.java
import java.util.ArrayList;
public class EasyRental {
  private ArrayList rents = newArrayList();
  public void addVehicle(String make, String color,String size, int amount) {
     rents.add(new Rentals(make, color,size, amount));
  }
  public String printVehicleInfo(int index) {
     returnrents.get(index).toString();
  }
  // TODO 1. create an iterative sort method thatsorts the rentals by color
  // TODO 2. create a Binary Search method below tosearch for a vehicle by a
  // color, that should return the index where thevehicle was found or -1
  public void printVehicles() {
     for (Rentals r : rents) {
        System.out.println(r.toString());
     }
     System.out.println();
  }
}
Rentals.java
public class Rentals {
 Â
  private String make;
  private String color;
  private String size;
  private int count;
 Â
  public Rentals(String make, String color, String size,int count) {
     this.make = make;
     this.color = color;
     this.size = size;
     this.count = count;
  }
 Â
  public String getMake() {
     return make;
  }
  public void setMake(String make) {
     this.make = make;
  }
  public String getColor() {
     return color;
  }
  public void setColor(String color) {
     this.color = color;
  }
  public String getSize() {
     return size;
  }
  public void setSize(String size) {
     this.size = size;
  }
  public int getCount() {
     return count;
  }
  public void setCount(int count) {
     this.count = count;
  }
  public String toString() {
     return \"There are \" + count + \" \" +size + \" \" + make + \"'s\" + \" in \" + color ;
  }
 Â
}