K
KXHK
Gast
Hallo
Kann jemand mir sagen, was es hier schief läuft. Bei diesem Programm muss die Zahl rauskommen, die in einer sortierten Array fehlt. Ich hab das auch mit Breakpoints beobachtet, wird die Methode noch einpaarmal ausgeführt, obwohl ja kein Fall (if) mehr zugetroffen wird.. Schaut besser das Programm vll versteht Ihr davon was ich meine.
Danke im voraus
Kann jemand mir sagen, was es hier schief läuft. Bei diesem Programm muss die Zahl rauskommen, die in einer sortierten Array fehlt. Ich hab das auch mit Breakpoints beobachtet, wird die Methode noch einpaarmal ausgeführt, obwohl ja kein Fall (if) mehr zugetroffen wird.. Schaut besser das Programm vll versteht Ihr davon was ich meine.
Code:
public class FindeZahl {
static int suche(int[] arr, int a, int b){
int m= (int) ((a+b)/2);
if(arr[m]!=m){
if(arr[m-1]==m-1 && arr[m]==m+1)
return m;
else{
b=m;
suche(arr,a,b);
}
} else if(arr[m]==m){
a=m;
suche(arr,a,b);
}
return m;
}
public static void main(String[] args){
int[] arr={0,1,2,3,5,6,7,8,9,10};
System.out.println(suche(arr,arr[0],arr[arr.length-1]));
}
}
Danke im voraus