public class BinarySearch { // constructor public BinarySearch(){ } // input: array of numbers, and a target to search for // output: -1 if target is not found, else // i such that numbers[i] = target public int search( int[] numbers, int target ){ int start = 0; int end = numbers.length-1; while (start <= end){ int middle = (end + start)/2; if (target == numbers[middle]){ return middle; } else if (target > numbers[middle]){ start = middle + 1; } else { end = middle - 1; } } return -1; } }