ciao a tutti,
sto studiando la ricerca binaria di array per cercare un elemento piu velocemente nell array, sto cercando di fare quest esercizio, l algoritmo che ho scritto mi sembra corretto ma continua a darmi come risultato 0. Qualcuno mi può dare una mano

codice:
/*Scrivere un metodo che, dati due array di interi, ciascuno dei quali è composto da elementi distinti ed è ordinato in modo crescente
calcola e restituisce il numero di elementi comuni tra i due array. Ad esempio, se i due array valgono rispettivamente {2,7,11,21,48,89}
e {7,11,15,21,42,45} allora il numero di elementi comuni è 3*/


class RB_elementi_comuni{
	public static int check(int[] a, int[] b){

		
		int sinistra;                   
		int destra;
		int centro;
		int occ;
		int i;



		sinistra=0;
		destra=a.length;
		occ=0;



            for(i=0; i<a.length; i++){
				while(sinistra<destra){
				centro=(sinistra+destra)/2;


			   if(a[i]==b[centro]){
					occ=occ+1;
}

				else if(a[i]>b[centro]){
					destra=centro;
}

			else
				sinistra=centro+1;

			} }

			return occ;
		}
		public static void main(String[] args){
			System.out.println(RB_elementi_comuni.check(new int[]{2,7,11,21,48,89}, new int[]{7,11,15,21,42,45}));
		}
	}