Ok, estoy recién aprendiendo recursividad y estoy confundido en un punto. Este es el códigoAmbigüedad de salida de recursión
public class RecursiveDemo {
public static void showRecursion (int num) {
System.out.println("Entering method. num = " + num);
if (num > 1) {
showRecursion(num - 1);
}
System.out.println("Leaving method. num = " + num);
}
public static void main(String[] args){
showRecursion(2);
}
}
La salida que estoy recibiendo es:
Entering method. num = 2
Entering method. num = 1
Leaving method. num = 1
Leaving method. num = 2
Mi pregunta es ¿Por qué aparece la salida "Leaving method. num = 2
". ¿No debería parar en "Leaving method. num = 1
" ya que num ya ha alcanzado 1?
Tiene ¿Intentó recorrer su código en el depurador? –
+1 para la etiqueta de la tarea. –
Perdón por preguntar esto, pero no tengo ni idea de cómo usar el depurador. ¿Cómo lo usaré? – armitage