[java] Choisir un nombre aleatoirement dans un intervalle

Choisir un nombre aleatoirement dans un intervalle [java] - Java - Programmation

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) :/

Reply

Marsh Posté le 06-05-2004 à 10:36:02   

Reply

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.

Reply

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  :jap:  
...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 :)


Message édité par Giz le 06-05-2004 à 10:52:42
Reply

Marsh Posté le 06-05-2004 à 11:23:23    

Quel est la différence entre java.util.Random et Math.Random ?

Reply

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
 
?

Reply

Marsh Posté le 06-05-2004 à 11:30:37    

Ba mate la doc [:spamafote]
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.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 06-05-2004 à 11:32:40    

Taiche a écrit :

Ba mate la doc [:spamafote]
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.


 
Ah ok !
 
Merci  :jap:

Reply

Marsh Posté le 06-05-2004 à 13:58:44    

Giz a écrit :

exact  :jap:  
...mais appremment ce n'est pas ce qui a l'air de mieux :/ :
http://forum.java.sun.com/thread.j [...] ge=2356712 (1er post)


ouais, enfin, faut vraiment avoir besoin d'une TRES TRES grande précision pour que ca ne suffise pas, hein :o

Reply

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).


---------------
trainoo.com, c'est fini
Reply

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;


Message édité par Mazda3 le 06-05-2004 à 17:34:55
Reply

Marsh Posté le 06-05-2004 à 17:34:44   

Reply

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 !
 

Citation :

int nombreAleatoire = (int)Math.random()*30;




 
chez moi un double compris ds l'intervalle [0,1[ caster en int devient 0, et 0 * x = 0 non ?  :sarcastic:

Reply

Marsh Posté le 06-05-2004 à 17:52:07    

exact !  
 
Bon j'utilise la methode Random de java.util.* c'est mieux

Reply

Marsh Posté le 06-05-2004 à 17:55:55    

ben tu peux utiliser Math.random si tu mets correctement tes cast c tout !!!

Code :
  1. int nombreAleatoire = (int) (Math.random()*30);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed