Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
977 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] Choisir un nombre aleatoirement dans un intervalle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] Choisir un nombre aleatoirement dans un intervalle

n°717062
Giz
Posté le 06-05-2004 à 10:36:02  profilanswer
 

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

mood
Publicité
Posté le 06-05-2004 à 10:36:02  profilanswer
 

n°717068
Xilas
Posté le 06-05-2004 à 10:43:13  profilanswer
 

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.

n°717090
Giz
Posté le 06-05-2004 à 10:52:06  profilanswer
 

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
n°717136
Mazda3
Posté le 06-05-2004 à 11:23:23  profilanswer
 

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

n°717141
Mazda3
Posté le 06-05-2004 à 11:28:16  profilanswer
 

Et si je veux un nombre entier compris entre 0 et 40. Je fais :
 
monRandom.nextInt() * 40
 
?

n°717145
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 06-05-2004 à 11:30:37  profilanswer
 

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.
n°717149
Mazda3
Posté le 06-05-2004 à 11:32:40  profilanswer
 

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:

n°717281
benou
Posté le 06-05-2004 à 13:58:44  profilanswer
 

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

n°717338
nraynaud
lol
Posté le 06-05-2004 à 14:47:27  profilanswer
 

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
n°717550
Mazda3
Posté le 06-05-2004 à 17:34:44  profilanswer
 

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
mood
Publicité
Posté le 06-05-2004 à 17:34:44  profilanswer
 

n°717560
Giz
Posté le 06-05-2004 à 17:41:06  profilanswer
 

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:

n°717574
Mazda3
Posté le 06-05-2004 à 17:52:07  profilanswer
 

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

n°717579
titione
addicted
Posté le 06-05-2004 à 17:55:55  profilanswer
 

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

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] Choisir un nombre aleatoirement dans un intervalle

 

Sujets relatifs
[Java] Look des objets graphiques[JAVA] Erreur d'un applet dans une page sécurisé
[java] File a capacite limitee circulaire en tableau[résolu][Java] Singleton VerifyError
[JAVA][JDBC] ODBC déconne ?[Java] Besoin d'aide avec Regex
[java]grapisme de la souris[JAVA] Plusieurs questions diverses (.JAR inside)...
[Résolu][Java] ActionListener, actionPerformed[java]Efficacité pour la lecture d'un fichier texte --> String
Plus de sujets relatifs à : [java] Choisir un nombre aleatoirement dans un intervalle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR