Answered step by step
Verified Expert Solution
Question
1 Approved Answer
String stateMatch and integer numData are read from input. Then, numData alphabetically sorted strings are read from input and each string is added to an
String stateMatch and integer numData are read from input. Then, numData alphabetically sorted strings are read from input and each string is added to an ArrayList. Complete the findMatch method:
If stateMatch is alphabetically before middleValue the element at index middleIndex of the ArrayList output "Search lower half" and recursively call findMatch to find stateMatch in the lower half of the range.
Otherwise, output "Search upper half" and recursively call findMatch to find stateMatch in the upper half of the range.
End each output with a newline.
import java.util.Scanner;
import java.util.ArrayList;
public class FindState
public static void findMatchArrayList searchList, String stateMatch, int minIndex, int maxIndex
int rangeSize;
int middleIndex;
String middleValue;
rangeSize maxIndex minIndex;
middleIndex minIndex maxIndex;
middleValue searchList.getmiddleIndex;
if stateMatchequalsmiddleValue
System.out.printlnstateMatch is found at index middleIndex;
else if rangeSize
System.out.printlnstateMatch is not in the list";
else
Your code goes here
public static void mainString args
Scanner scnr new ScannerSystemin;
ArrayList dataList new ArrayList;
String stateMatch;
int numData;
int i;
stateMatch scnrnext;
numData scnrnextInt;
for i ; i numData; i
dataList.addscnrnext;
findMatchdataList stateMatch, dataList.size;
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started