В тази програма ще се научите да обръщате дадено изречение с помощта на рекурсивен цикъл в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java методи
- Java рекурсия
- Java String
Пример: Обърнете изречението с помощта на рекурсия
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); ) )
Изход :
Обратното изречение е: krow oG
В горната програма имаме рекурсивна функция reverse()
.
При всяка итерация добавяме (обединяваме) резултата от следващата reverse()
функция към първия символ на изречението, използвайки charAt(0)
.
Рекурсивното повикване трябва да е преди charAt()
, защото по този начин последните знаци ще започнат да се добавят в лявата страна. Ако обърнете реда, ще получите първоначалното изречение.
В крайна сметка завършваме с празно изречение и reverse()
връщаме обърнатото изречение.
Забележка : sentence.substring(1)
Методът връща частта от изречението на низа, започвайки от индекс 1 до края на низа. За да научите повече, посетете подниза Java String ().
Повторение | обратен() | подниз () | reversedString |
---|---|---|---|
1 | обратен ("Отидете на работа") | "o работа" | резултат + "G" |
2 | обратно ("o Работа") | "Работа" | резултат + "o" + "G" |
3 | обратно ("Работа") | "Работа" | резултат + "" + "o" + "G" |
4 | обратно ("Работа") | "орк" | резултат + "W" + "" + "o" + "G" |
5 | обратно ("ork") | "rk" | резултат + "o" + "W" + "" + "o" + "G" |
6 | обратно ("rk") | "к" | резултат + "r" + "o" + "W" + "" + "o" + "G" |
7 | обратно ("k") | "" | резултат + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Финал | обратен("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |