Maison > Java > javaDidacticiel > Pourquoi mon générateur de nombres aléatoires Java renvoie-t-il toujours le même nombre malgré la définition d'une graine ?

Pourquoi mon générateur de nombres aléatoires Java renvoie-t-il toujours le même nombre malgré la définition d'une graine ?

Mary-Kate Olsen
Libérer: 2024-11-07 07:11:02
original
670 Les gens l'ont consulté

Why Does My Java Random Number Generator Always Return the Same Number Despite Setting a Seed?

Le générateur de nombres aléatoires Java renvoie toujours le même numéro malgré la graine

Dans le code Java fourni, malgré la définition d'une graine, le générateur de nombres aléatoires est systématiquement donne le même nombre. Le problème survient lors de la création d'un nouvel objet Random pour chaque appel de méthode. Cela garantit qu'une nouvelle graine est générée à chaque fois, ce qui entraîne la répétition de nombres aléatoires.

Pour résoudre ce problème, il est essentiel de partager une seule instance aléatoire dans toute la classe. En incorporant ce changement, nous garantissons que la graine n'est définie qu'une seule fois, conduisant à une séquence de nombres véritablement aléatoires.

public class Numbers {
    // Shared Random instance
    private Random randnum = new Random();

    public int random(int i) {
        randnum.setSeed(123456789);
        return randnum.nextInt(i);
    }
}
Copier après la connexion

Avec cette modification, les appels ultérieurs à la méthode aléatoire renverront des nombres différents, adhérant à les contraintes d'avoir une graine fixe.

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