Foros del Web » Programación para mayores de 30 ;) » Java »

Que esta mal?

Estas en el tema de Que esta mal? en el foro de Java en Foros del Web. Código: public class Factorial { static int factorial(int x){ int[] numeros = new int[x]; for (int r=x; r==1; r--) { numeros[r] = r; } return ...
  #1 (permalink)  
Antiguo 10/12/2012, 12:34
Avatar de iivo94  
Fecha de Ingreso: febrero-2011
Ubicación: Argentina
Mensajes: 281
Antigüedad: 13 años, 2 meses
Puntos: 3
Que esta mal?

Código:
public class Factorial {

    static int factorial(int x){
        int[] numeros = new int[x];
        for (int r=x; r==1; r--)
        {
            numeros[r] = r;
        }
        return numeros[2];
    }
    public static void main(String[] args) {
        System.out.println(factorial(5));
    }
}
la idea es, que el metodo recibe un numero, hace un array, y el bucle lo que hace es llenar los espacios del array con los numeros contando para atras desde el numero que entro por parametro ala funcion, tipo si entro un 7, quedaria el array {1,2,3,4,5,6,7}, no entiendo que esta mal :S alguien me puede ayudar? gracias
  #2 (permalink)  
Antiguo 10/12/2012, 13:51
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Que esta mal?

Código Java:
Ver original
  1. for (int r=x; r==1; r--)

El ciclo se va a ejecutar mientras la condicion (segunda parte del for) se cumpla, o visto de otra forma, hasta que la condicion sea falsa

En tu caso el ciclo se va a ejecutar mientras r sea igual a 1
  #3 (permalink)  
Antiguo 10/12/2012, 16:20
Avatar de iivo94  
Fecha de Ingreso: febrero-2011
Ubicación: Argentina
Mensajes: 281
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Que esta mal?

gracias x responder...lo cambie por r>0, y me da error :s

Última edición por iivo94; 10/12/2012 a las 16:28
  #4 (permalink)  
Antiguo 10/12/2012, 19:41
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Que esta mal?

Si el valor de X fuera 5, entonces estas creando un arreglo de 5 elementos: desde 0 hasta 4.

En el FOR tu estas tratando de acceder al valor en la posicion X, o sea 5. Esa posicion no existe
  #5 (permalink)  
Antiguo 10/12/2012, 22:41
Avatar de iivo94  
Fecha de Ingreso: febrero-2011
Ubicación: Argentina
Mensajes: 281
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Que esta mal?

gracias sabio programador :p
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:32.