Comprendre les nombres aléatoires à l'aide de graines en Java
En Java, une graine est utilisée pour initialiser une instance aléatoire et générer une séquence de nombres pseudo-aléatoires . Lorsque la même graine est fournie, l'instance Random produit la même séquence de nombres.
Pourquoi mes nombres aléatoires sont-ils les mêmes à chaque fois ?
Dans le code fourni :
double num = generator.nextDouble() * (0.5);
Vous utilisez la même graine pour chaque appel à randomGenerator, ce qui donne la même séquence de randomGenerator nombres.
Comment y remédier
Pour générer différentes séquences de nombres aléatoires avec une graine :
Exemple :
private Random generator = new Random(); // outside randomGenerator double randomGenerator() { return generator.nextDouble() * (0.5); // inside randomGenerator }
Génération de nombres pseudo-aléatoires
Les générateurs de nombres pseudo-aléatoires (PRNG) génèrent des séquences qui semblent aléatoires mais sont déterministes et dotés d’une valeur initiale. Lorsque la même graine est utilisée, le PRNG produit la même séquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!