public class BinarySearch { public static int binarySearch(int[] inpArray, int key) { int retOfs = -1; int low = 0; int high = inpArray.length; int mid; // Empty array?? if (high == 0) return(-1); while (true) { mid = (low + high) / 2; int midVal = inpArray[mid]; if (midVal == key) { retOfs = mid; break; } // not found!! if (low >= high) break; else if (key > midVal) low = mid + 1; else high = mid - 1; } return(retOfs); } public static void main(String[] args) { int[] inpArray = {1, 3, 7, 9}; int keyVal = 9; int keyOff = binarySearch(inpArray, keyVal); System.out.printf("Index of key: %d is : %d\n", keyVal, keyOff); } }