last day (15 days later) » 

3:49 PM
Ahora si @LuiggiMendoza
 
voy a repetir todo lo que conversamos allí
la recursividad se puede definir como un procedimiento que para poder realizarse se llama a sí mismo hasta cumplir cierta condición donde se determina que se cumplió con la ejecución
este concepto es propio de programación en general, puedes implementar métodos o funciones recursivas en Java, C, C++, C#, Python, Ruby, PHP, etc
un ejemplo clásico que se utiliza para explicar recursividad es el cálculo de factorial
por ejemplo tenemos la definición base de factorial utilizando un ciclo for
long factorial(int n) {
    int result = 1;
    for (int i = 1; i <= n; i++) {
        result *= i;
    }
    return result;
}
si definimos ahora el factorial como un método recursivo, tendremos lo siguiente
long factorial(int n) {
	if (n == 0) return 1;
	return n * factorial (n - 1);
}
ahora, sobre tu problema
partamos del método llenarMatriz
void llenarMatriz(int[][] numeros, Scanner lector) {
    int valor;
    System.out.println("MATRIZ CUADRADA 3 X 3");
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            System.out.println("Ingrese el valor de " + i + " y" + j + ": ");
            valor = lector.nextInt();
            numeros[i][j] = valor;
        }
    }
}
para convertirlo a una forma recursiva necesitamos analizas 2 cosas: 1) qué parte se debe ejecutar mútiples veces (esto será la lógica del método recursivo) y 2) las condiciones para detener la ejecución
para que aprendas, te recomiendo que por favor intentes identificar ambos puntos
no importa si te equivocas, la programación se aprende y se logra en base a prueba y error
 
1) for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
2) seria con un if, else o un break
 
oh ok
uhm
a ver veamos
del método que tienes, hay cierto código que necesitas que se ejecute múltiples veces
el ciclo for te ayuda a que cierto fragmento o bloque de código se ejecute múltiples veces
 
mi pregunta seria: para hacerlo de forma recursiva tengo que utilizar condicionales y no los bucles?
 
la idea de la recursividad es reemplazar bucles
o que el código no tenga bucles
puesto que el bucle está en llamar al método nuevamente al interno
por ello el ejemplo de factorial, el 1ro utiliza un bucle y el 2do que está definido de manera recursiva no utiliza
 
4:02 PM
ok gracias
 
te diría que vuelvas a revisar el punto 1) en el método
 

last day (15 days later) »