Hola,
Cita:
Iniciado por juanpablosolari ...
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,