I need help with this Java problem to output as it's explained in this image below: import java.util.Scanner; import java.util.ArrayList; import java.util.Collections; public class LabProgram { static public int recursions = 0; static public int comparisons = 0; private static ArrayList readNums(Scanner scnr) { int size = scnr.nextInt(); ArrayList nums = new ArrayList(); for (int i = 0; i < size; ++i) { nums.add(scnr.nextInt()); } return nums; } static public int binarySearch(int target, ArrayList integers, int lower, int upper) { recursions+=1; int index = (lower+upper)/2; comparisons+=1; if(target == integers.get(index)){ return index; } if(lower == upper){ comparisons+=1; if(target == integers.get(lower)){ return lower; } else{ return -1; } } else{ comparisons+=1; if(integers.get(index) > target){ return binarySearch(target,integers,lower,index-1); } else{ return binarySearch(target,integers,index + 1,upper); } } } public static void main(String [] args) { Scanner scnr = new Scanner(System.in); ArrayList integers = readNums(scnr); int target = scnr.nextInt(); int index = binarySearch(target, integers, 0, integers.size()- 1); System.out.printf("index: %d, recursions: %d, comparisons: %d", index, recursions, comparisons); System.out.println(); } }
I need help with this Java problem to output as it's explained in this image below:
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class LabProgram {
static public int recursions = 0;
static public int comparisons = 0;
private static ArrayList<Integer> readNums(Scanner scnr) {
int size = scnr.nextInt();
ArrayList<Integer> nums = new ArrayList<Integer>();
for (int i = 0; i < size; ++i) {
nums.add(scnr.nextInt());
}
return nums;
}
static public int binarySearch(int target, ArrayList<Integer> integers, int lower, int upper) {
recursions+=1;
int index = (lower+upper)/2;
comparisons+=1;
if(target == integers.get(index)){
return index;
}
if(lower == upper){
comparisons+=1;
if(target == integers.get(lower)){
return lower;
}
else{
return -1;
}
}
else{
comparisons+=1;
if(integers.get(index) > target){
return binarySearch(target,integers,lower,index-1);
}
else{
return binarySearch(target,integers,index + 1,upper);
}
}
}
public static void main(String [] args) {
Scanner scnr = new Scanner(System.in);
ArrayList<Integer> integers = readNums(scnr);
int target = scnr.nextInt();
int index = binarySearch(target, integers, 0, integers.size()- 1);
System.out.printf("index: %d, recursions: %d, comparisons: %d", index, recursions, comparisons);
System.out.println();
}
}
![Input
Your output
Expected output
8
10 15 20 25 30 35 40 45
50
CO
index: -1, recursions: 4, comparisons: 6
index: 1, recursions: 4, comparisons:](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F4e135d5c-f867-4afd-9f0d-b505f4f19664%2Ff9f5bd12-1d64-4e11-ad82-5fa1b828249a%2Frqeyutf_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)