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 :

problème boucle while


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 24
    Points
    24
    Par défaut problème boucle while
    Bonjour,

    mon code exécute sans fin ce qui trouve dans la boucle while dans tout les cas!!!!!!
    quelqu'un peut m'aider? il se peut que l'erreur est devant moi mais sans la "capturer"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while(v[p]=true)
                        {
                        Random rand = new Random(); 
                        p= rand.nextInt(2 - 0 + 1) + 0;
                        }
    ici le vecteur v est initialisé à false, donc normalement quand il génère un autre nombre p différent, il sort de la boucle, n'est ce pas?

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Bonjour,

    La question à se poser : Où dans le code, la valeur v[p] est mise à true ?

    Une autre point, on exécute la boucle while que si la condition et tant que la condition est vraie.

    Dans le cas où le vecteur v est initialisé à false, le corps de la boucle n'est pas exécuté.
    -

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    le vecteur v est initialisé en premier à false ensuite la valeur v[p] est mise à true à une certaine étape, donc bien sur la boucle est exécute quand v[p] est true.
    Alors dans le cas où la boucle est exécuté normalement on sort de la boucle lorsque la valeur de p change.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par codepvc Voir le message
    ici le vecteur v est initialisé à false, donc normalement quand il génère un autre nombre p différent, il sort de la boucle, n'est ce pas?
    Non, cette boucle est infinie. v[p]=true renverra toujour true, car il se lit "mettre true dans v[p] et retourner true"

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Non, cette boucle est infinie. v[p]=true renverra toujour true, car il se lit "mettre true dans v[p] et retourner true"
    Comment faire donc pour tester si v[p] est true alors entrer dans la boucle jusqu’à ce que la valeur de p change donc v[p] devient false et on sort de la boucle?
    c'est à dire si on génère la même valeur de p on reste dans la boucle et si on génère une autre valeur de p on sort de la boucle.

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Donc voila j'ai trouvé la solution, dans la boucle je dois faire while (v[p]==true), puisque j'ai l'habitude de programmer en delphi.
    Merci infiniment tchize_

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 631
    Points
    21 631
    Par défaut
    Enfin personnellement, si je rencontre une personne qui me dit :

    "Tant qu'il est vrai qu'il pleut, je prends un parapluie"

    eh ben moi je trouve cette personne bizarre.

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

Discussions similaires

  1. Problème boucle while
    Par Peedro dans le forum Langage
    Réponses: 4
    Dernier message: 07/10/2008, 14h09
  2. Problème boucle while
    Par chuko dans le forum C
    Réponses: 7
    Dernier message: 04/07/2008, 16h12
  3. Problème boucle while
    Par fred33 dans le forum Langage
    Réponses: 2
    Dernier message: 23/05/2008, 19h16
  4. [MySQL] Problème boucle WHILE
    Par Adlack dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/02/2007, 19h30
  5. Problème boucle while et evenement
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 2
    Dernier message: 30/03/2006, 18h11

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