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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: desglose del un método generar numero aleatorio sin que se repita JAVA en: 30 Abril 2015, 01:00 am
muchas gracias chicos, esta tarde conseguí entender lo del cambio de posición y estoy aplicándolo en otra parte del programa muchísimas gracias :).
Si hay forma de cerrar el post que lo cierre alguien o se me informe de como hacerlo XD.
2  Programación / Java / Re: desglose del un método generar numero aleatorio sin que se repita JAVA en: 26 Abril 2015, 19:00 pm
Si, si funciona así pero no comprendo por que no repite ninguna posición por que al usar el random crea un aleatorio y en la segunda vuelta del bucle existe la posibilidad de que se repita la posición o eso es lo que me parece a mí

En la practica funciona perfectamente pero no comprendo el porque.
3  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