Šajā programmā jūs iemācīsities mainīt norādīto teikumu, izmantojot Kotlinas rekursīvo cilpu.
Piemērs: Apvērsiet teikumu, izmantojot rekursiju
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) )
Palaidot programmu, izeja būs:
Apgrieztais teikums ir: krow oG
Iepriekš minētajā programmā mēs izmantojam rekursīvu funkciju reverse()
.
Katrā iterācijā reverse()
teikuma pirmajai rakstzīmei mēs pievienojam (saķēdējam) nākamās funkcijas rezultātu charAt(0)
.
Rekursīvajam zvanam jābūt pirms charAt()
, jo tādējādi pēdējās rakstzīmes sāks pievienot kreisajā pusē. Ja jūs mainīsit secību, jūs iegūsiet sākotnējo teikumu.
Galu galā mēs nonākam ar tukšu teikumu un reverse()
atgriežam apgriezto teikumu.
Atkārtojums | reverss () | apakšvirkne () | reversedString |
---|---|---|---|
1 | reverss ("iet uz darbu") | "o darbs" | rezultāts + "G" |
2 | reverss ("o darbs" | "Darbs" | rezultāts + "o" + "G" |
3 | reverss ("Darbs") | "Darbs" | rezultāts + "" + "o" + "G" |
4 | reverss ("Darbs") | "ork" | rezultāts + "W" + "" + "o" + "G" |
5 | reverss ("ork") | "rk" | rezultāts + "o" + "W" + "" + "o" + "G" |
6 | reverss ("rk") | "k" | rezultāts + "r" + "o" + "W" + "" + "o" + "G" |
7 | reverss ("k") | "" | rezultāts + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Fināls | reverss ("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Šeit ir ekvivalents Java kods: Java programma, lai mainītu teikumu