Cómo darle a la semilla una semilla aleatoria diferente cada vez que se llama a un programa repetidamente
Sugerencia:
Puedes cambiarlo para no crear un nuevo objeto aleatorio cada vez, sino usar el mismo objeto aleatorio y llamar al método nextDouble() varias veces.
clase pública aleatoria {
public static void main(String[] args) {
GRNumber(123, 2, 32, 5);
}
public static void GRNumber(int seed, int x, int y, int times) {
Random r = new Random(seed);
for ( int i=0; ilt; veces; i) {
número doble = x (int) (r.nextDouble()*y);
System.out.println(" Generar número aleatorio: " número);
}
}
}
El algoritmo aleatorio implementado en la clase Random es pseudo- aleatorio, también es solo aleatoriedad con reglas. Al realizar la aleatorización, el número de origen del algoritmo aleatorio se denomina número de semilla y se realiza una determinada transformación sobre la base del número de semilla para generar los números aleatorios requeridos.
Los objetos aleatorios con el mismo número de semilla y el mismo número de números aleatorios generados son exactamente iguales. En otras palabras, para dos objetos aleatorios con el mismo número de semilla, los números aleatorios generados por primera vez son exactamente los mismos y los números aleatorios generados por segunda vez también son exactamente los mismos.
Aquí usas la misma semilla cada vez, creas un nuevo objeto aleatorio y obtienes el primer número aleatorio de este objeto. Por supuesto, es el mismo cada vez.