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

avec Java Discussion :

générer 2 entiers différents


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut générer 2 entiers différents
    Bonjour
    Je cherche à générer deux entiers différents entre 1 et 10
    Voici mon code mais il ne compile pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int a1, a2;
    boolean b=false ;
     
    do {
    Random r = new Random();
    a1 = r.nextInt(10) + 1;
    a2 = r.nextInt(10) + 1;
    if (a1 != a2) { b = true; }
    } while (b = true);
     
    System.out.println(a1 + "   " + a2);
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Quelle est ton erreur de compilation? Tu a bien fait l'import de la classe Random?

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Déjà y'a un problème ici :
    while (b = true);

    C'est == que tu dois avoir.

    Ensuite, si c'est pas ca et de manière général, donne l'erreur de compilation ^^

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Oui j'ai bien importé Random,
    Le compilateur ne donne rien ça reste bloqué comme s'il est dans un boucle infini
    NB : j'ai mis " while (b == true); " toujours le même problème

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    voici le code complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import java.util.Random;
     
    public class Main {
     
        public static void main(String[] args) {
            int a1, a2;
            boolean b=false ;
     
            do {
                    Random r = new Random();
                    a1 = r.nextInt(10) + 1;
                    a2 = r.nextInt(10) + 1;
                    if (a1 != a2) { b = true; }
                 }   while (b == true);
                System.out.println(a1 + "   " + a2);
           }
    }

  6. #6
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Points : 340
    Points
    340
    Par défaut
    Alors c'est pas le compilateur qui bug, mais l'exécution ^^
    Sinon ta condition est mauvaise, tu boucle tant que b est true, donc tant que a1 et b1 sont différent.

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    je devrais mettre l'inverse
    if (a1 == a2) { b = true; }
    au lieu de :
    if (a1 != a2) { b = true; }
    ça marche trés bien maintenant
    merci bcp

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ca marchera tant que t'aura pas une seule fois des nombres identique. Ton algo est mauvais. Tu dois remettre b à false si a1 !=a2. Le plus simple est de mettre while(a1==a2)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Turbo Pascal] Générer des entiers aléatoires différents
    Par LeStriker dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 11/01/2014, 10h42
  2. Générer nombres entiers aléatoire différents
    Par mailbox dans le forum Fortran
    Réponses: 3
    Dernier message: 07/03/2010, 15h20
  3. Générer des html différents
    Par capello123 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/12/2007, 16h28
  4. Générer un KEYEVENT différent
    Par cdryk dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 28/08/2007, 14h55
  5. Générer un entier entre 0 et 164
    Par Thomus38 dans le forum Prolog
    Réponses: 2
    Dernier message: 26/10/2006, 18h07

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