Maison > Java > javaDidacticiel > le corps du texte

Comment puis-je générer différents nombres aléatoires en Java en utilisant la même graine ?

Barbara Streisand
Libérer: 2024-11-11 04:22:03
original
244 Les gens l'ont consulté

How can I generate varying random numbers in Java when using the same seed?

Génération de nombres aléatoires avec graine en Java

Lors de la génération de nombres aléatoires, il est courant d'utiliser une graine pour garantir la reproductibilité des résultats. Cependant, dans les cas où des nombres apparemment identiques sont produits, un dépannage est nécessaire.

Dans le code fourni :

double randomGenerator(long seed) {
    Random generator = new Random(seed);
    double num = generator.nextDouble() * (0.5);

    return num;
}
Copier après la connexion

L'utilisation cohérente de la même graine entraînera des séquences de nombres identiques. Il s'agit d'un aspect crucial des tests, permettant un caractère aléatoire contrôlé lors de la reproduction des résultats.

Pour résoudre le problème et générer des séquences variables, utilisez le constructeur sans argument pour Random, qui exploite l'horodatage nanoseconde pour initialiser une graine unique. . Par exemple :

private Random generator = new Random();
double randomGenerator() {
    return generator.nextDouble() * 0.5;
}
Copier après la connexion

En conservant l'instance Random en dehors de la méthode, l'état de départ interne reste persistant, fournissant une séquence distincte pour chaque invocation. Cette approche garantit un véritable caractère aléatoire tout en répondant au besoin de séquences de nombres uniques.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal