duda con recursividad

oscaruli 2

Bovino maduro
#1
hola lo que pasa es que me dieron un ejemplo de como se implementa la recursividad pero no le entiendo al algoritmo que me pasaron (en especifico a esta parte: cadinvertida.SetCadena(token.next());) este es el codigo (es en java )

void invertidor(int a){
try{

if (a< cadena.length()){
char ch= cadena.charAt(a);
invertidor(a+1);
System.out.print(ch);
}
}catch (Exception e){
System.out.println(e.getMessage());
}

} //invertidor


--en el metodo Main seria algo como lo siguiente:

InvertirCadena cadinvertida = new InvertirCadena();

System.out.println("Introduce la cadena a ser invertida");
cadinvertida.setCadena(token.next());

//Llamada inicial al m�todo.
System.out.println("Cadena Invertida: ");
cadinvertida.invertidor(0);
System.out.println("<-----------------------------"



espero y me puedan ayudar
 
#2
cadinvertida.SetCadena(token.next())

No lo entiendes porque imagino no has visto el codigo dentro de la funcion "setCadena"
 

Salandrews

Bovino maduro
#4
SetCadena es un método de la clase InvertirCadena, que crearon para este ejemplo.

El problema no es la recursividad, es que no tienes claro los conceptos de POO.
 

el mofles

Bovino adolescente
#6
simplemente hazle Trace paso a paso
y veras en los watch el valor de la cadena
Es rarisimo que uses recursividad en el mundo profesional, aunque
casi seguro lo veras en algun test para empleo.
Suerte!
 

RyukInside

Bovino maduro
#7
La recursividad es si se utiliza en el mundo profesional, es algo básico y permite reutilizar código.

Primero debes entender que la recursividad no es más que un método que se llama a sí mismo las veces que sean necesarias, se utiliza muchísimo cuando operas métodos matemáticos complejos, desde problemas físicos, matemáticos, químicos hasta en tópicos de seguridad.

Si no entiendes tu código, intenta ejecutarlo paso a paso y ver que valores toma cada variable involucrada en el proceso.

Saludos.
 
Arriba