45 votes

Comment puis-je utiliser des nombres aléatoires dans groovy ?

J'utilise cette méthode :

def getRandomNumber(int num){
    Random random = new Random()
    return random.getRandomDigits(num)
}

quand je l'appelle j'écris println getRandomNumber(4)

mais j'ai une erreur

No signature of method: java.util.Random.getRandomDigits() is applicable for argument types: (java.lang.Integer) values: [4]

Note : J'utilise cette méthode dans une autre classe groovy et elle fonctionne correctement sans aucune erreur.

63voto

Mark Byers Points 318575

Il n'existe pas de méthode telle que java.util.Random.getRandomDigits.

Pour obtenir un nombre aléatoire, utilisez nextInt :

return random.nextInt(10 ** num)

Vous devez également créer l'objet aléatoire une fois lorsque votre application démarre :

Random random = new Random()

Vous ne devez pas créer un nouvel objet aléatoire chaque fois que vous voulez un nouveau nombre aléatoire. Cela détruit le caractère aléatoire.

13voto

Dónal Points 61837

En général, je trouve que RandomUtils (de Apache commons lang) est un moyen plus facile de générer des nombres aléatoires que java.util.Random

3voto

linuxmaniac Points 31

Si vous voulez générer des nombres aléatoires dans la plage incluant '0' , utilisez ce qui suit tandis que 'max' est le nombre maximum dans la plage.

Random rand = new Random()
random_num = rand.nextInt(max+1)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X