У овом програму ћете научити да обрнете дату реченицу помоћу рекурзивне петље у Котлину.
Пример: Измените реченицу користећи рекурзију
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) )
Када покренете програм, излаз ће бити:
Обрнута реченица је: кров оГ
У горњем програму имамо рекурзивну функцију reverse()
.
На свакој итерацији додајемо (спајамо) резултат следеће reverse()
функције првом карактеру реченице који користи charAt(0)
.
Рекурзивни позив мора бити пре charAt()
, јер ће на тај начин последњи знакови почети да се додају са леве стране. Ако преокренете редослед, на крају ћете добити оригиналну реченицу.
На крају завршимо са празном реченицом и вратимо reverse()
обрнуту реченицу.
Понављање | обрнуто () | подниз () | реверседСтринг |
---|---|---|---|
1 | обрнуто („Иди на посао“) | "о Посао" | резултат + "Г" |
2 | обрнуто ("о Посао" | "Посао" | резултат + "о" + "Г" |
3 | обрнуто („Посао“) | "Посао" | резултат + "" + "о" + "Г" |
4 | обрнуто („Посао“) | "орк" | резултат + "В" + "" + "о" + "Г" |
5 | обрнуто ("орк") | "рк" | резултат + "о" + "В" + "" + "о" + "Г" |
6 | обрнуто ("рк") | "к" | резултат + "р" + "о" + "В" + "" + "о" + "Г" |
7 | обрнуто ("к") | "" | резултат + "к" + "р" + "о" + "В" + "" + "о" + "Г" |
Коначни | обрнуто ("") | - | "" + "к" + "р" + "о" + "В" + "" + "о" + "Г" = "кроВ оГ" |
Ево еквивалентног Јава кода: Јава програм за преокретање реченице