Complete the // TODO sections in the EasyRental class. Create a method that implements an iterative sort...

50.1K

Verified Solution

Question

Programming

Complete the // TODO sections in the EasyRentalclass.

  1. Create a method that implements an iterative sort that sortsthe vehicle rentals by color in ascending order (smallest tolargest)
  2. 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 ;
   }
  
}

Answer & Explanation Solved by verified expert
3.9 Ratings (681 Votes)
Rentalsjavapublic class Rentals private String make private String color private String size private int count public RentalsString make String color String size int count thismake make thiscolor color thissize size thiscount count public String getMake return make public void    See Answer
Get Answers to Unlimited Questions

Join us to gain access to millions of questions and expert answers. Enjoy exclusive benefits tailored just for you!

Membership Benefits:
  • Unlimited Question Access with detailed Answers
  • Zin AI - 3 Million Words
  • 10 Dall-E 3 Images
  • 20 Plot Generations
  • Conversation with Dialogue Memory
  • No Ads, Ever!
  • Access to Our Best AI Platform: Flex AI - Your personal assistant for all your inquiries!
Become a Member

Other questions asked by students