int counter=0;
if (text.length(()>1) {
if (....) {
n--;
}
if (counter == n) {
return true;
} else {
return false;
}
OK! Werde ich nicht mehr machen!PS: Bitte Code nicht als Screenshot.
Die Methode liefert (fast) immer false.
Dein Problem ist, den rekursiver Aufruf von hasNOrderedPairs kannst du auch entfernen. Der macht genau gar nichts. Dein Code sieht im Prinzip wie folgt aus:
Java:int counter=0; if (text.length(()>1) { if (....) { n--; } if (counter == n) { return true; } else { return false; }
Das wird in den seltestenten Fälle was sinnvolles zurückgeben.
Du machst mit der Rückgabe des rekursiven Aufrufes nichts. Mit der musst du sinnvollerweise was tun. Kleiner Tipp: Wenn da true kommt, was willst du dann zurückliefern? Und was bei false?
private static boolean hasNOrderedPairs(String text, int n, int index) {
// TODO: Implementieren Sie hier Ihre Lösung für die Methode
int counter = 0;
if (index < text.length() - 1) {
if (text.charAt(index) <= text.charAt(index + 1)) {
n--;
} hasNOrderedPairs(text, n, index+1);
}
if (counter == n)
return true;
else
return false;
}
private static boolean hasNOrderedPairs(String text, int n, int index) {
// TODO: Implementieren Sie hier Ihre Lösung für die Methode
int counter = 0;
if (index < text.length() - 1) {
if (text.charAt(index) <= text.charAt(index + 1)) {
n--;
} return hasNOrderedPairs(text, n, index+1);
}
if (counter == n)
return true;
else
return false;
}