Choisir un nombre aleatoirement dans un intervalle [java] - Java - Programmation
Marsh Posté le 06-05-2004 à 10:43:13
Math.random renvoit un nombre aléatoire entre 0 et 1. il suffit de le multiplier par 1.48 et tu obtiens un nombre aléatoire entre 0 et 1.48.
Marsh Posté le 06-05-2004 à 10:52:06
Xilas a écrit : Math.random renvoit un nombre aléatoire entre 0 et 1. il suffit de le multiplier par 1.48 et tu obtiens un nombre aléatoire entre 0 et 1.48. |
exact
...mais appremment ce n'est pas ce qui a l'air de mieux :
http://forum.java.sun.com/thread.j [...] ge=2356712 (1er post)
jmen contenterai
Marsh Posté le 06-05-2004 à 11:23:23
Quel est la différence entre java.util.Random et Math.Random ?
Marsh Posté le 06-05-2004 à 11:28:16
Et si je veux un nombre entier compris entre 0 et 40. Je fais :
monRandom.nextInt() * 40
?
Marsh Posté le 06-05-2004 à 11:30:37
Ba mate la doc
Math.random() renvoie un double et tu ne peux pas spécifier l'intervalle (faut multiplier par quelque chose pour avoir ton intervalle).
java.util.Random te permet d'avoir divers types de retour (int, long, etc...) mais aussi de spécifier l'intervalle dans nextInt().
Donc y en a un qui est plus complet que l'autre et pis vala.
Marsh Posté le 06-05-2004 à 11:32:40
Taiche a écrit : Ba mate la doc |
Ah ok !
Merci
Marsh Posté le 06-05-2004 à 13:58:44
Giz a écrit : exact |
ouais, enfin, faut vraiment avoir besoin d'une TRES TRES grande précision pour que ca ne suffise pas, hein
Marsh Posté le 06-05-2004 à 14:47:27
rien à voir, mais il semblerait que S. Wolfram ait de très bons résultats avec un automate cellulaire pour la génération de nombres aléatoires (utilisé dans Mathematica).
Marsh Posté le 06-05-2004 à 17:34:44
J'ai utilisé la methode Math.random() mais ça me sort en integer compris entre 0 et 30 et il me sort toujours 0 !
Citation : int nombreAleatoire = (int)Math.random()*30; |
Marsh Posté le 06-05-2004 à 17:41:06
mazda3 a écrit : J'ai utilisé la methode Math.random() mais ça me sort en integer compris entre 0 et 30 et il me sort toujours 0 !
|
chez moi un double compris ds l'intervalle [0,1[ caster en int devient 0, et 0 * x = 0 non ?
Marsh Posté le 06-05-2004 à 17:52:07
exact !
Bon j'utilise la methode Random de java.util.* c'est mieux
Marsh Posté le 06-05-2004 à 17:55:55
ben tu peux utiliser Math.random si tu mets correctement tes cast c tout !!!
Code :
|
Marsh Posté le 06-05-2004 à 10:36:02
Existe-il une fonction java qui permet de faire ca ?
Ex : tirer un nombre au hasard entre 0 et 1.48 par exemple.
Je n'ai pas trouve ca dans la javadoc (class Math.random)