Programa Java para reverter uma frase usando recursão

Neste programa, você aprenderá a reverter uma determinada frase usando um loop recursivo em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Métodos Java
  • Java Recursion
  • Java String

Exemplo: reverter uma frase usando recursão

 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); ) )

Produto :

 A frase invertida é: krow oG

No programa acima, temos uma função recursiva reverse().

Em cada iteração, adicionamos (concatenamos) o resultado da próxima reverse()função ao primeiro caractere da frase usando charAt(0).

A chamada recursiva deve ser antes de charAt(), porque dessa forma os últimos caracteres começarão a ser adicionados ao lado esquerdo. Se você inverter a ordem, terminará com a frase original.

No final, terminamos com uma frase vazia e reverse()retornamos a frase invertida.

Observação : o sentence.substring(1)método retorna a parte da frase da string começando do índice 1 até o final da string. Para saber mais, visite Java String substring ().

Etapas de execução
Iteração marcha ré() substring () reversedString
1 reverso ("Vá trabalhar") "o Trabalho" resultado + "G"
2 reverso ("o Trabalho") " Trabalhos" resultado + "o" + "G"
3 reverso ("Trabalho") "Trabalhos" resultado + "" + "o" + "G"
4 reverso ("Trabalho") "ork" resultado + "W" + "" + "o" + "G"
5 reverso ("ork") "rk" resultado + "o" + "W" + "" + "o" + "G"
6 reverso ("rk") "k" resultado + "r" + "o" + "W" + "" + "o" + "G"
7 reverso ("k") "" resultado + "k" + "r" + "o" + "W" + "" + "o" + "G"
Final marcha ré("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Artigos interessantes...