IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Générer un chiffre aléatoire


Sujet :

Langage Java

  1. #1
    Invité
    Invité(e)
    Par défaut Générer un chiffre aléatoire
    Bonjour,

    Est-il possible de générer un chiffre entre -50 et +50 ?

    Je fais des recherches et pour le moment, je n'ai rien trouvé.

    Merci

  2. #2
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Bonjour, essaie ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int min = -50;
    int max = 50;
    int random = (int)(Math.random() * (max-min)) + min;
    "Le calendrier, c'est la bureaucratie du temps." Quino

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    int lower = -50;
    int higher = 51;

    int random = (int)(Math.random() * (higher-lower)) + lower;

    Note : 51 à cause des bornes parce que par défaut 0 <= RND < 1

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    lol

    synchros !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Génial, je vais tester çà.

    Merci

  6. #6
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Citation Envoyé par Duc Lebowski Voir le message
    Note : 51 à cause des bornes parce que par défaut 0 <= RND < 1
    Autant pour moi
    "Le calendrier, c'est la bureaucratie du temps." Quino

  7. #7
    Invité
    Invité(e)
    Par défaut
    Note : 51 à cause des bornes parce que par défaut 0 <= RND < 1
    Donc si je mets -50 et 50, je n'aurais jamais 50 c'est bien çà ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Tout à fait !

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ok merci beaucoup.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Une dernière question pour 0 <= RND < 1, c'est dans tous les langages où alors il peut y avoir 0 < RND < 1 ou 0 < RND <= 1 car en javascript par exemple, il semble qu'on ait 0 < RND < 1 ?

    Merci

  11. #11
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Apparemment en .NET, c'est pareil qu'en java la borne supérieure n'est pas comprise.

    Par contre, il semblerait qu'en PHP par exemple :

    Description
    int rand ( [int $min, int $max] )

    Appelée sans les options min et max, rand() retourne un nombre pseudo-aléatoire entre 0 et RAND_MAX. Si vous voulez un nombre aléatoire entre 5 et 15 (inclus), par exemple, utilisez rand (5, 15).
    Cela dépend donc du langage
    "Le calendrier, c'est la bureaucratie du temps." Quino

  12. #12
    Invité
    Invité(e)
    Par défaut
    Ok merci.

    J'avais cherché confirmation pour le javascript mais à part des site où i lest indiqué que c'est entre 0 et 1, je n'ai rien vu d'autre.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Points : 327
    Points
    327
    Par défaut
    Je ne connais pas l'utilisation qui sera faite de ce nombre "aléatoire" mais sache qu'il n'est pas si aléatoire que ça (en même temps ce n'est pas possible sur une machine :p) mais si tu cherches à générer un nombre "le plus aléatoire possible" tu devrais te tourner vers des algorithmes comme "Mersenne Twister algorithm" (je crois que c'est l'un des meilleurs)

  14. #14
    Invité
    Invité(e)
    Par défaut
    Il n'est pas très aléatoire car il est basé sur l'horloge c'est çà ?

  15. #15
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    C'est apparemment la même en javascript qu'en java.

    Regarde ce lien

    var randomnumber=Math.floor(Math.random()*11)

    where 11 dictates that the random number will fall between 0-10
    "Le calendrier, c'est la bureaucratie du temps." Quino

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Points : 327
    Points
    327
    Par défaut
    Citation Envoyé par Tsumi Voir le message
    Il n'est pas très aléatoire car il est basé sur l'horloge c'est çà ?
    En effet

  17. #17
    Invité
    Invité(e)
    Par défaut
    Merci pour ta recherche.

    J'avais donc une erreur dans mon test avec javascript.

  18. #18
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Tsumi Voir le message
    Une dernière question pour 0 <= RND < 1, c'est dans tous les langages où alors il peut y avoir 0 < RND < 1 ou 0 < RND <= 1 car en javascript par exemple, il semble qu'on ait 0 < RND < 1 ?
    0 est atteignable avec la méthode random en Javascript. C'est donc bien également 0 <= RND < 1.

    (Formellement, c'est : 0 <= RND <= E < 1 avec E proche de 1. Mais ça ne change pas grand chose )

  19. #19
    Invité
    Invité(e)
    Par défaut
    Merci à vous tous.

Discussions similaires

  1. [XL-2007] Générer des chiffres aléatoires
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/11/2013, 13h55
  2. Réponses: 19
    Dernier message: 29/08/2012, 22h49
  3. [VB.NET] Générer lettre et chiffre aléatoire
    Par zozimama dans le forum VB.NET
    Réponses: 12
    Dernier message: 30/05/2012, 09h59
  4. Générer une série de chiffres aléatoire dans un tableau
    Par ptitdje dans le forum Général Python
    Réponses: 4
    Dernier message: 10/06/2010, 23h06
  5. Générer chiffre aléatoire qu'une fois
    Par AliHome dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/06/2008, 20h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo