Donc, int random = (int) Math.ceil(Math.random() * 5);
renvoie-t-il une valeur de 0,1,2,3,4 plutôt que 1,2,3,4,5?Est-ce que math.random suppose que 0 est un nombre entier?
J'ai essayé de le tester, mais il semble ne jamais frapper 0 ou 5 = x
Donc, int random = (int) Math.ceil(Math.random() * 5);
renvoie-t-il une valeur de 0,1,2,3,4 plutôt que 1,2,3,4,5?Est-ce que math.random suppose que 0 est un nombre entier?
J'ai essayé de le tester, mais il semble ne jamais frapper 0 ou 5 = x
En théorie, Math.random()
vaudra toujours une valeur supérieure ou égale à 0 et strictement inférieur à 1.
donc, en utilisant (int) Math.ceil(Math.random() * 5)
devrait vous donner réellement 0, 1, 2, 3, 4, 5. Cependant, toute valeur retournée par Math.random()
autre que exactement 0 sera donner une valeur de 1 ou plus après l'appel à Math.ceil()
- si vous verrez 0 souvent disparaître. (Vous serez chanceux si vous jamais voir, mais c'est certainement possible.) Voir 5 est facile - vous l'aurez à tout moment Math.random()
renvoie une valeur supérieure à 0,8.
Y a-t-il une raison pour laquelle vous n'utilisez pas Random.nextInt()
à la place?
Bien qu'il devrait vous donner très, très rarement. – rob
Je ne suis pas familier avec Random.nextInt() - est-ce une meilleure façon de générer un # aléatoire? – Sapp
@rob: J'ajoutais juste ça :) @Sapp: Oui. –