W tym programie nauczysz się odwracać dane zdanie za pomocą pętli rekurencyjnej w Kotlinie.
Przykład: odwrócenie zdania za pomocą rekursji
fun main(args: Array) ( val sentence = "Go work" val reversed = reverse(sentence) println("The reversed sentence is: $reversed") ) fun reverse(sentence: String): String ( if (sentence.isEmpty()) return sentence return reverse(sentence.substring(1)) + sentence(0) )
Po uruchomieniu programu wynik będzie następujący:
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.
| 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" |
Oto odpowiednik kodu w Javie: Program w języku Java do odwrócenia zdania








