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

Signaler
Messages postés
11
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
6 avril 2005
-
Messages postés
20
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
8 décembre 2004
-
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 :)

8 réponses

Messages postés
1
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
5 décembre 2004

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. ;)
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
10
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;

+++
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
: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]
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
10
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)

++
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
: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]
Messages postés
20
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
8 décembre 2004
2
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 !
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
10
GodConan :clown)
hmmmm ;o) ce serai pas se que g ecrit ;o) en une SEULE ligne ;)!!!!!
Messages postés
20
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
8 décembre 2004
2
ah autant pour moi :) j'ai du mal lire !

Si Java bien, c'est Java Minh !