Programa Java para revertir una oración usando la recursividad

En este programa, aprenderá a revertir una oración determinada utilizando un bucle recursivo en Java.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Métodos Java
  • Recursión de Java
  • Cadena Java

Ejemplo: invertir una oración mediante recursividad

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

Salida :

 La oración invertida es: krow oG

En el programa anterior, tenemos una función recursiva reverse().

En cada iteración, agregamos (concatenamos) el resultado de la siguiente reverse()función al primer carácter de la oración usando charAt(0).

La llamada recursiva debe estar antes del charAt(), porque de esa manera los últimos caracteres comenzarán a agregarse al lado izquierdo. Si inviertes el orden, terminarás con la oración original.

Al final, terminamos con una oración vacía y reverse()devuelve la oración invertida.

Nota : El sentence.substring(1)método devuelve la parte de la oración de cadena desde el índice 1 hasta el final de la cadena. Para obtener más información, visite Java String substring ().

Pasos de ejecución
Iteración marcha atrás() subcadena () reversedString
1 reverse ("Ir a trabajar") "o trabajo" resultado + "G"
2 reverso ("o trabajo") " Trabajo" resultado + "o" + "G"
3 reverso ("trabajo") "Trabajo" resultado + "" + "o" + "G"
4 reverso ("trabajo") "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 atrás("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Articulos interesantes...