În acest program, veți învăța să inversați o propoziție dată utilizând o buclă recursivă în Kotlin.
Exemplu: inversați o propoziție folosind recursivitate
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) )
Când rulați programul, ieșirea va fi:
Propoziția inversată este: krow oG
În programul de mai sus, avem o funcție recursivă reverse().
La fiecare iterație, adăugăm (concatenăm) rezultatul reverse()funcției următoare la primul caracter al propoziției folosind charAt(0).
Apelul recursiv trebuie să fie înainte de charAt(), deoarece în acest fel ultimele caractere vor începe să se adauge în partea stângă. Dacă inversați ordinea, veți ajunge la propoziția originală.
La final, ajungem cu o propoziție goală și reverse()returnăm propoziția inversată.
| Repetare | verso() | substring () | String inversat |
|---|---|---|---|
| 1 | invers („Du-te la lucru”) | „o muncă” | rezultat + "G" |
| 2 | invers („o Work” | " Muncă" | rezultat + "o" + "G" |
| 3 | invers („Muncă”) | "Muncă" | rezultat + "" + "o" + "G" |
| 4 | invers („Muncă”) | „ork” | rezultat + "W" + "" + "o" + "G" |
| 5 | invers („ork”) | „rk” | rezultat + "o" + "W" + "" + "o" + "G" |
| 6 | invers („rk”) | „k” | rezultat + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | invers („k”) | "" | rezultat + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Final | verso("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "KROW oG" |
Iată codul Java echivalent: Programul Java pentru a inversa o propoziție








