Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Start soll kleiner oder gleich sein wie Ende, Start muss größer oder gleich 0 sein aber Ende muss kleiner oder gleich 0 - ergibt auch keinen Sinn ^^
Und ja, die Rekursion kannste komplett entfernen
funktioniert das?
Code:
public Kunde binaereSuche(int gesuchteNr, int start, int ende)
{
int mitte = (start + ende) / 2;
while (start <= ende)
{
mitte = (start + ende) / 2;
if (kundenliste[mitte].getKundennummer() == gesuchteNr)
{
return (kundenliste[ergebnis]);
}
else if (kundenliste[mitte].getKundennummer() < gesuchteNr)
{
start = mitte + 1;
}
else if (kundenliste[mitte].getKundennummer() > gesuchteNr)
{
ende = mitte - 1;
}
}
if (kundenliste[mitte].getKundennummer() != gesuchteNr)
{
return (null);
}
return (kundenliste[mitte]);
}
}
die while schleife war falsch; ende <=0 ist natürlich kappes; dann hatte ich noch kundenliste[10] statt kundenliste[8] da stehen
edit;
danke für deine mühen 1668mib!
ich editier mal den code im 1. beitrag