У овом програму научићете да обрнете дату реченицу помоћу рекурзивне петље у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава методе
- Јава Рецурсион
- Јава Стринг
Пример: Измените реченицу користећи рекурзију
public class Reverse ( public static void main(String() args) ( String sentence = "Go work"; String reversed = reverse(sentence); System.out.println("The reversed sentence is: " + reversed); ) public static String reverse(String sentence) ( if (sentence.isEmpty()) return sentence; return reverse(sentence.substring(1)) + sentence.charAt(0); ) )
Излаз :
Обрнута реченица је: кров оГ
У горњем програму имамо рекурзивну функцију reverse()
.
На свакој итерацији додајемо (спајамо) резултат следеће reverse()
функције првом карактеру реченице који користи charAt(0)
.
Рекурзивни позив мора бити испред charAt()
, јер ће тако последњи знакови почети да се додају на леву страну. Ако преокренете редослед, на крају ћете добити оригиналну реченицу.
На крају завршимо са празном реченицом и вратимо reverse()
обрнуту реченицу.
Напомена : sentence.substring(1)
Метода враћа део реченице низа почев од индекса 1 до краја низа. Да бисте сазнали више, посетите Јава Стринг подниз ().
Понављање | обрнуто () | подниз () | реверседСтринг |
---|---|---|---|
1 | обрнуто („Иди на посао“) | "о Посао" | резултат + "Г" |
2 | обрнуто ("о Посао") | "Посао" | резултат + "о" + "Г" |
3 | обрнуто („Посао“) | "Посао" | резултат + "" + "о" + "Г" |
4 | обрнуто („Посао“) | "орк" | резултат + "В" + "" + "о" + "Г" |
5 | обрнуто ("орк") | "рк" | резултат + "о" + "В" + "" + "о" + "Г" |
6 | обрнуто ("рк") | "к" | резултат + "р" + "о" + "В" + "" + "о" + "Г" |
7 | обрнуто ("к") | "" | резултат + "к" + "р" + "о" + "В" + "" + "о" + "Г" |
Коначни | обрнуто ("") | - | "" + "к" + "р" + "о" + "В" + "" + "о" + "Г" = "кроВ оГ" |