Ciao di nuovo a tutti, in questi giorni sto facendo davvero un uso spropositato di questo forum

Veniamo al dunque. In una classe Banca, devo scrivere un metodo che mi ricerchi un determinato numero di conto (Es: 22345) attraverso la ricerca binaria e che mi dica se è stato trovato o meno. Prima però, devo verificare se i numeri di conto sono messi nell'array in ordine crescente. Quindi, se sono in ordine posso fare la ricerca, altrimenti devo visualizzare un messaggio che indichi che è impossibile effettuare l'operazione (quindi non devo ordinare l'array).

Questo è quello che ho fatto:

codice:
//VERIFICA ORDINAMENTO PER NUM CONTO
	private static Boolean verOrd(Banca1[]v)
	{
		Boolean ordinato =false;
		if(v!=null){
		ordinato= true;
		for(int i=0;i<v.length-1;i++)
		{
			if(v[i].getNum()>v[i+1].getNum()) {ordinato= false;}
		}
		}
		return (ordinato);
		
	}
	
	//RICERCA BINARIA 
	public static Boolean Bsearch(int conto, Banca1[]v)
	{
		Boolean trovato = true;
		if(v!=null){
			trovato = false;
			if (Banca.verOrd(v)==false){System.out.println("Operazione non eseguibile.");}
			else 
			{
				int low=0;
				int high=v.length-1;
				while(low<=high)
				{
					int mid= (low+high)/2;
					int diff= v[mid].getNum()-conto;
					
					if(diff==0) {trovato = true;}
					else if(diff<0){low=mid+1;}
					else high=mid-1;
				}
				trovato = false;
			}
		}
		return (trovato);
	
	}

E questo quello che scrivo poi nel tester:

codice:
System.out.println("Conto da cercare: ");
				int conto = in.nextInt();
				if(Banca.Bsearch(conto, clienti)==true)
					System.out.println("TROVATO");
				else System.out.println("non trovato");

Quando immetto due codici non in ordine mi da il messaggio "Operazione non eseguibile.", quindi fin qui tutto ok. Quando poi immetto due codici in ordine, se digito un codice che dovrebbe non essere trovato, mi stampa ''non trovato'', il problema è quando digito un codice che dovrebbe essere trovato, perchè quando premo INVIO non succede nulla. Nella console va solo a capo, senza passare al prossimo case nonostante il break ci sia (sono all'interno di uno switch).


Qualcuno potrebbe aiutarmi a capire dov'è l'errore??