import java.util.*;

public class BinarySearch {
	public static void main(String [] args) {
		int [] arr = setup(15);

		print(arr);

		Scanner scanner = new Scanner(System.in);

		System.out.print("val: ");
		while (scanner.hasNextInt()) {
			int val = scanner.nextInt();
			int pos = find(arr, val);
			if (pos >= 0)
				System.out.println(val + " was found at position " + pos);
			else
				System.out.println(val + " was not found");
			System.out.print("val: ");
		}
	}

	public static int [] setup(int howMany) {
		int [] arr = new int[howMany];

		for (int i = 0; i < arr.length; i++)
			arr[i] = (i+1) * 5;
		return arr;
	}

	public static int find(int [] arr, int val) {return find(arr, 0, arr.length-1, val);}

	public static int find(int [] arr, int lo, int hi, int val) {
		while (lo <= hi) {
			int mid = (hi+lo)/2;
			if (val == arr[mid]) 
				return mid;
			else if (val < arr[mid]) 
				hi = mid - 1;
			else
				lo = mid + 1;
		}
		return -1;
	}

	public static void print(int [] arr) {
		System.out.print("{");
		for (int i = 0; i < arr.length; i++)
			System.out.print(arr[i] + (i < arr.length-1 ? ", " : ""));
		System.out.println("}");
	}
}

