recursive binary search
import java.util.Scanner; public class BinarySearching { public static void main(String[] argh){ System.out.println("Enter the size of the Array: "); Scanner input = new Scanner(System.in); int size = input.nextInt(); int [] array = new int[size]; int[] binarySort = enterValues(array,size); System.out.println("Which number you want to find? "); int numberTofind = input.nextInt(); int low =0; int high = binarySort.length-1; if(findNumber(binarySort,numberTofind,low,high) == -1){ System.out.println("The number you entered dose not exist"); return; } System.out.println("the number is at index: "+findNumber(binarySort,numberTofind,low,high)); } public static int[] enterValues(int [] arr,int size){ System.out.println("Enter Sorted Array: "); for(int i=0 ; i<size;++i){ arr[i] = i; } return arr; } public static int findNumber(int [] sortedArray, int findThisNumber,int low , int high ){ int midle = (low+high)/2; if(sortedArray[midle]==findThisNumber) { return midle; }else if(sortedArray[midle] < findThisNumber) { return findNumber(sortedArray,findThisNumber,low=midle+1,high); }else if(sortedArray[midle] > findThisNumber) { return findNumber(sortedArray,findThisNumber,low,high=midle-1); } return -1; } }