elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1]
1  Programación / Java / desglose del un método generar numero aleatorio sin que se repita JAVA en: 24 Abril 2015, 16:52 pm
estoy intentando comprender por que este código me da un numero aleatorio sin repetirse y por mas vueltas que le doy no consigo comprenderlo.

Lo he intentado pasar a un papel siguiendo el bucle pero en el papel me ocurre que si que se pierde algún numero mientras que ejecutandolo en la maquina virtual funciona perfectamente y sinceramente no me gusta copiar código en mis programas que no comprenda.

Espero alguien pueda echarme una mano a comprenderlo.

Código:
public void numeroAleatorioSinRepetirse() {// aquí genero el numero
int[] numeros = new int[4];
int sumador = 0;
for (int i = 0; i < numeros.length; i++) {
numeros[i] = sumador;
sumador++;
System.out.println(i + " = " + numeros[i]);
}
System.out.println("");
for (int i = 3; i >= 0; i--) { // aquí lo guardo en una posicion
// aleatoria
int rand = (int) (Math.random() * (i + 1));
int temp = numeros[i];
numeros[i] = numeros[rand];
numeros[rand] = temp;
System.out.println(i + " = " + numeros[i]);
}
}

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines