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" |