Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/08/2013, 23:19
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Generar Random 4 random y comprobar

Hola,

Cita:
Iniciado por juanpablosolari Ver Mensaje
...
Podrias explicarme un poco mas sobre eso?
...
Código:
    public int[] obtenerAleatorio() {
        int i = 0, j = 0, k = 0;
        int rand[] = new int[4];
        while (i < 4) rand[i] = ++i; // Nota 1
 
        for (i = 0; i < 4; i++) { // Nota 2
            j = (int) (Math.random() * 4);
            k = rand[i]; rand[i] = rand[j]; rand[j] = k;
        }

        return rand;
    }
Nota 1:
En ese momento se ponen los valores del 1 al 4 en el arreglo "rand", es una forma optimizada de llenar un arreglo, usando una estructura de control simple, incrementando el valor de la variable "i" de una forma pre-fija (antes de usar la variable) al asignar el valor. También se podría hacer un "for" u otros de una manera mas clara.

Nota 2:
En ese ciclo "for", el arreglo "rand" se "desordena", moviendo 4 veces los números entre si, de forma que solamente cambian de posición. El indice a donde se mueve va en orden, el índice que se mueve es el que se genera aleatoriamente. En decir, 4 veces se genera un número del 1 al 4 para saber que indice del arreglo mover a otra posición.

La función la podrìas usar de esta forma,

Código:
int[] valores = obtenerAleatorio();

ranResA = valores[0];
ranResB = valores[1];
ranResC = valores[2];
ranResD = valores[3];

Saludos,