Write Java Source Code: Binary Search in Recursion
Sample Output 1:
Enter the size of the array: 5
Enter 5 numbers: 2 1 3 5 4
The sorted numbers are:
1 2 3 4 5
Enter the number you want to search: 3
The search number is on the index 2
Enter the size of the array: 5
Enter 5 numbers: 2 1 3 5 4
The sorted numbers are:
1 2 3 4 5
Enter the number you want to search: 3
The search number is on the index 2
Source Code:
//Java Classpublic class binarySearch //Example of Java Class{ //biSearch is an example of a method or a function public int binSearch(int[] arr, int fIndex, int lIndex,int search) {int middle = (fIndex + (lIndex - fIndex) / 2); if(fIndex<lIndex ){ if (search == arr[middle]){ return middle; } else if(search < arr[middle]){ if(search == arr[0]) return 0; return binSearch(arr, fIndex, middle, search); } else if(search > arr[middle]){ if(search == arr[middle+1]) return middle + 1; return binSearch(arr, middle+1, lIndex, search); } } return -1; }//this is also a class method public void sort(int[] arr){ for(int i=0; i<arr.length; i++) { for(int j=i+1; j<arr.length; j++ ) { if(arr[i] > arr[j]) { int temp = arr[j]; arr[j]=arr[i]; arr[i]= temp; } } } for(int i=0; i<arr.length; i++) { System.out.print(arr[i] + " "); }}}//main classimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter the size of the array: "); int n = input.nextInt(); int[] x = new int[n]; System.out.print("Enter "+ n +" numbers: "); int middle; for(int i=0; i<n; i++) { x[i] = input.nextInt(); } binarySearch access = new binarySearch(); //this is how to instantiate an object to access a class System.out.println("The sorted numbers are: "); access.sort(x);//this is how to access a method System.out.println(); System.out.print("Enter the number you want to search: "); int value = input.nextInt(); System.out.print("The search number is on the index "); System.out.print(access.binSearch(x, 0, x.length-1, value)); //how to access a class }}