English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie man in Java rekursiv durchläuft, um den gegebenen Satz umzukehren.
public class Reverse { public static void main(String[] args) { String sentence = "Go work"; String reversed = reverse(sentence); System.out.println("Der umgekehrte Satz ist: ", + reversed); } public static String reverse(String sentence) { if (sentence.isEmpty()) return sentence; return reverse(sentence.substring(1)) + sentence.charAt(0); } }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
Der umgekehrte Satz ist: krow oG
Im obigen Programm haben wir eine rekursive Funktion reverse().
In jeder Iteration verwenden wir charAt(0), um das Ergebnis von reverse() als ersten Buchstaben des Satzes hinzuzufügen (zu verbinden).
Die rekursiven Aufrufe müssen vor charAt() erfolgen, da der letzte Buchstabe dann links hinzugefügt wird. Wenn Sie die Reihenfolge umkehren, erhalten Sie den ursprünglichen Satz zurück.
Schließlich enden wir mit einem leeren Satz, reverse() gibt die umgekehrte Phrase zurück.
Iteration | reverse() | substring() | reversedString |
---|---|---|---|
1 | reverse("Go work") | "o Work" | result + "G" |
2 | reverse("o Work") | " Work" | result + "o" + "G" |
3 | reverse(" Work") | "Work" | result + " " + "o" + "G" |
4 | reverse("Work") | "ork" | result + "W" + " " + "o" + "G" |
5 | reverse("ork") | "rk" | result + "o" + "W" + " " + "o" + "G" |
6 | reverse("rk") | "k" | result + "r" + "o" + "W" + " " + "o" + "G" |
7 | reverse("k") | "" | result + "k" + "r" + "o" + "W" + " " + "o" + "G" |
Final | reverse("") | - | "" + "k" + "r" + "o" + "W" + " " + "o" + "G" = "kroW oG" |