Hola,
Cita:
Iniciado por getNombre mmm bueno.. hoy estuve buscando la manera de general 5 numeros aleatorios sin repeticion con numeros entre el 0 al 9..
Según lo que indica GreenEyed lo más aconsejable es usar las librerías que tiene incorporadas el lenguaje, lo cual tiene sus ventajas, pero también existe el caso que al usar esas librerías nunca comprendamos como fueron hechas.
Código Java:
Ver originalpackage org;
public class Random1 {
private static final int MAXVAL = 100;
public static void main
(String[] args
) { new Random1().run();
}
public void run() {
java.util.LinkedList<Integer> l = new java.util.LinkedList<Integer>();
for (int i = 0; i < MAXVAL; l.add(++i));
result
= l.
toArray(new Integer[0]); }
}
Y aunque tu aplicación funciona muy bien, podrías haberla simplificado moviendo solamente el último número, no era necesario que movieras todo el array. También dejo una versión diferente sin Collections en el caso sea útil para alguien mas.
Código Java:
Ver originalpackage org;
public class Random2 {
private static final int MAXVAL = 10;
private static final java.
util.
Random r
= new java.
util.
Random();
public static void main
(String[] args
) { new Random2().run();
}
public void run() {
int i = 0, j = 0, k = 0;
while ((values[i++] = i) < MAXVAL);
i = MAXVAL - 1;
while (i >= 0) {
j = r.nextInt(i + 1);
k = values[i]; values[i] = values[j]; values[j] = k;
System.
out.
println(result
[i
] = values
[i
--]); }
}
}
Saludos,