Šioje programoje išmoksite pakeisti nurodytą sakinį naudodami rekursišką kilpą Kotline.
Pavyzdys: pakeiskite sakinį naudodami rekursiją
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) )
Kai paleisite programą, išvestis bus:
Atvirkštinis sakinys yra: krow oG
Pirmiau pateiktoje programoje mes turime rekursinę funkciją reverse().
Kiekvienoje iteracijoje reverse()prie pirmojo sakinio simbolio pridedame (sujungiame) kitos funkcijos rezultatą charAt(0).
Rekursinis skambutis turi būti prieš charAt(), nes tokiu būdu paskutiniai simboliai bus pradėti pridėti kairėje pusėje. Jei pakeisite tvarką, gausite originalų sakinį.
Galų gale mes padarysime tuščią sakinį ir reverse()grąžinsime atvirkštinį sakinį.
| Kartojimas | atvirkštinis () | substring () | reversedString |
|---|---|---|---|
| 1 | atvirkščiai („Eik dirbti“) | „o darbas“ | rezultatas + „G“ |
| 2 | atvirkščiai („o darbas“ | „Darbas“ | rezultatas + "o" + "G" |
| 3 | atvirkščiai („darbas“) | „Darbas“ | rezultatas + "" + "o" + "G" |
| 4 | atvirkščiai („darbas“) | „ork“ | rezultatas + "W" + "" + "o" + "G" |
| 5 | atvirkštinis („ork“) | „rk“ | rezultatas + "o" + "W" + "" + "o" + "G" |
| 6 | atvirkštinė („rk“) | „k“ | rezultatas + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | atvirkštinė („k“) | "" | rezultatas + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Galutinis | atvirkštinis ("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Štai ekvivalentiškas „Java“ kodas: „Java“ programa sakiniui pakeisti








