В этой программе вы научитесь перевернуть данное предложение, используя рекурсивный цикл в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Методы Java
- Рекурсия Java
- Строка Java
Пример: изменение предложения с помощью рекурсии
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 substring ().
Итерация | обеспечить регресс() | подстрока () | reversedString |
---|---|---|---|
1 | обратный ("Иди работай") | "o Работа" | результат + "G" |
2 | обратный ("o Работа") | " Работа" | результат + "o" + "G" |
3 | обратный ("Работа") | "Работа" | результат + "" + "o" + "G" |
4 | обратный ("Работа") | "орк" | результат + "W" + "" + "o" + "G" |
5 | обратный ("орк") | "рк" | результат + "o" + "W" + "" + "o" + "G" |
6 | обратный ("рк") | "к" | результат + "r" + "o" + "W" + "" + "o" + "G" |
7 | обратный ("к") | "" | результат + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Финал | обеспечить регресс("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |