W tym programie nauczysz się odwracać dane zdanie za pomocą pętli rekurencyjnej w Javie.
Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:
- Metody Java
- Rekursja Java
- Ciąg Java
Przykład: odwrócenie zdania za pomocą rekursji
public class Reverse ( public static void main(String() args) ( String sentence = "Go work"; String reversed = reverse(sentence); System.out.println("The reversed sentence is: " + reversed); ) public static String reverse(String sentence) ( if (sentence.isEmpty()) return sentence; return reverse(sentence.substring(1)) + sentence.charAt(0); ) )
Wyjście :
Odwrócone zdanie to: krow oG
W powyższym programie mamy funkcję rekurencyjną reverse().
W każdej iteracji dodajemy (konkatenujemy) wynik następnej reverse()funkcji do pierwszego znaku zdania za pomocą charAt(0).
Wywołanie rekurencyjne musi nastąpić przed charAt(), ponieważ w ten sposób ostatnie znaki zaczną być dodawane po lewej stronie. Jeśli odwrócisz kolejność, otrzymasz oryginalne zdanie.
Na koniec otrzymujemy puste zdanie i zwracamy zdanie reverse()odwrócone.
Uwaga : sentence.substring(1)Metoda zwraca część zdania tekstowego, zaczynając od indeksu 1 do końca ciągu. Aby dowiedzieć się więcej, odwiedź stronę Java String podciąg ().
| Iteracja | odwrócić() | podciąg () | reverseString |
|---|---|---|---|
| 1 | reverse ("Idź do pracy") | „o Praca” | wynik + „G” |
| 2 | reverse ("o Praca") | „Praca” | wynik + „o” + „G” |
| 3 | reverse ("Praca") | "Praca" | wynik + „” + „o” + „G” |
| 4 | reverse ("Praca") | „ork” | wynik + „W” + „„ + „o” + „G” |
| 5 | reverse („ork”) | „rk” | wynik + „o” + „W” + „” + „o” + „G” |
| 6 | reverse ("rk") | „k” | wynik + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | do tyłu („k”) | „” | wynik + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Finał | odwrócić("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |








