codice:
LinkedList<int[]> list = new LinkedList<int[]>(); 
list.add (new int[] {0, 1, 5, 8, 10, 11}); 
list.add (new int[] {2, 10, 15, 17, 18, 22, 25, 30}); 
list.add (new int[] {0, 2, 15}); 

int[] a = {1, 0, 5}; 

int[] menu = {0, 1, 2}; 

int cont = 0; 

for (int i = 0; i < list.size(); i++) { 
    RicercaBinaria.ricercaInArray(a[i], list.get(i)); 
    cont++; 
}
Così non funziona..

I metodi sono tutti così più o meno, cambia il tipo di ritorno oppure hanno qualche controllo in più..
codice:
	public static int ricercaInArray(int x, int[] a) {
		int inf = 0;
		int sup = a.length - 1;
		if(sup == 1 || x < a[0] || x > a[sup])
			return -1;
		while(inf <= sup) {
			int i = (inf + sup) / 2;
			if(x < a[i])
				sup = i - 1;
			if (x > a[i])
				inf = i + 1;
			else {
				return i;
		}
		return -1;
	}