public static boolean binarySearchRecursion(int[] data, int target, int low, int high) { boolean cond = false; if(low > high) { cond = false; } else { int mid = (low + high)/2; if(target == mid) { cond = true; } else if(target < data[mid]) { cond = binarySearchRecursion(data, target, low, mid - 1); } else { cond = binarySearchRecursion(data, target, mid + 1, high); } } return cond; } public static boolean binarySearchIteration(int[] data, int target, int low, int high) { // you have to define your low and high in this case // usually the first element and the last element of data low = 0; high = data.length - 1; while(low <= high) { int mid = (low + high)/2; if(target == data[mid]) { return true; } else if(target < data[mid]) { high = mid - 1; } else { low = mid + 1; } } return false; }