Générer un nombre aléatoire qui soit 1 ou -1...

cs_Keliah Messages postés 11 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 6 avril 2005 - 4 déc. 2004 à 23:33
Minhounet Messages postés 20 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 8 décembre 2004 - 9 déc. 2004 à 18:08
Voilà toute la question est dans le sujet, quelqu'un sait-il comment faire pour générer un nombre aléatoire qui soit 1 ou -1.

Merci d'avance :)
A voir également:

8 réponses

cs_tifred Messages postés 1 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 5 décembre 2004
5 déc. 2004 à 00:15
Tu généres un nombre à virgule entre 0 et 1 (par défaut avec une fonction rand),

tu arrondis ce nombre > 0 ou 1,

tu multiplies par 2 > 0 ou 2,

tu soustrais 1 > -1 ou 1.

J'ai pas cherché plus loin, mais il existe surement une fonction random qui te génére un nombre entre 2 valeurs, mais le probleme éventuel est qu'il te sort le 0 !

Cette méthode marche mais n'hésite pas à l'améliorer. ;)
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
5 déc. 2004 à 08:23
GodConan :clown)

int tonRandom = Math.random()>.5?1:-1;

;o) et voila tonRandom ne peut prendre que 2 valeurs 1 ou -1 .... ;o)

ceci dit une valeur boolean semble plus adapter ;o)
boolean tonRandom = Math.random()>.5;

+++
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
6 déc. 2004 à 11:31
:big) Neodante :big)

Math.random() renvoir un double entre 0. et 1. donc pour avoir entre -1. et 1.:
math.random * 2 - 1 marche bien ... même si tu fais un décalage de bit c'est plus rapide ...
@+

[Responsable www.neogamedev.com]
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
6 déc. 2004 à 18:39
GodConan :clown)

ben no ;o) NeoDante ;o) sorry si tu fait ca tu peu obtenir -1 ou 0 (si tu cast en int), lui il veu 1 ou -1 ;o) petite nuance ;o)

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
6 déc. 2004 à 19:48
:big) Neodante :big)

La question est de savoir si maintenant keliath veut un nombre à virgule ou un entier ... dans ce cas c'est clair que l'arrondi me donnera rarement raison !!!! lol ;-)
@+

[Responsable www.neogamedev.com]
0
Minhounet Messages postés 20 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 8 décembre 2004 2
8 déc. 2004 à 20:21
Comment se prendre la tête pour rien.

Il suffit de générer un booleen aléatoire et renvoyer 1 si c'est vrai et -1 si c'est faux.

int res = 0;
Random hasard = new Random();

if (hasard.nextBoolean) res = 1 ;
else res = -1 ;

Ne pas oublier d'importer la bibliothèque :)

Si Java bien, c'est Java Minh !
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
8 déc. 2004 à 20:39
GodConan :clown)
hmmmm ;o) ce serai pas se que g ecrit ;o) en une SEULE ligne ;)!!!!!
0
Minhounet Messages postés 20 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 8 décembre 2004 2
9 déc. 2004 à 18:08
ah autant pour moi :) j'ai du mal lire !

Si Java bien, c'est Java Minh !
0
Rejoignez-nous