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 :

Besoin d'aide sur une boucle "do..while"


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Besoin d'aide sur une boucle "do..while"
    Bonjour à tous, j'ai un petit souci de compréhension avec la boucle do...while de cette exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char reponse = ' ';
    		do{
     
    		System.out.println("Hello world !");
     
    		}while (reponse == 'O');
    Ce qui m'affiche bel et bien "Hello World". Or, si je comprend bien, étant donné que la variable reponse = [un espace], on ne devrait pas rentrer dans la boucle puisque la condition est [uniquement si la variable reponse contient le cractère "O"].
    Des réponses simples m'aideraient au mieux, comme vous l'aurez sûrement remarqué, je suis encore débutant (mais pas pour toujour)

  2. #2
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Justement non, puisque c'est une do..while : elle va exécuter l'instruction qui est dans le do une fois, puis vérifier la condition. Si celle-ci est vrai, elle va ré-exécuter, sinon elle s'arrête. Si tu veux qu'elle ne soit exécuter que si la condition est vraie, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char reponse = ' ';
    
    while (reponse == 'O'){
       System.out.println("Hello world !");
    }
    Ce qui n'affichera jamais "Hello world !" puisque la condition est fausse (ou l'affichera en boucle si tu initialise reponse avec 0)
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    D'accord j'ai compris maintenant merci.
    Et c'est pour cela qu'en mettant un 'O' dans la variable "réponse" j'obtenais une boucle infinie, car l'action se réitérait sans arrêt.
    En fait, je pensais que c'était simplement une boucle "while" mais inversée, c'est-à-dire qui permettait d'indiquer la condition à la fin...

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 352
    Points : 349
    Points
    349
    Par défaut
    Citation Envoyé par Mattness69 Voir le message
    En fait, je pensais que c'était simplement une boucle "while" mais inversée, c'est-à-dire qui permettait d'indiquer la condition à la fin...
    En quelque sorte c'est un truc comme ça.
    En utilisant do...while on rentre au moins une fois dans la boucle.Arrivé à la fin,on teste si la condition est vraie on rentre à nouveau dans la boucle sinon on s'arrête.Or avec while le test se fait bien avant de rentrer dans la boucle ce qui fait que si le test est faux on est jamais entrer dans la boucle.

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

Discussions similaires

  1. [XL-2013] Besoin d'aide sur une boucle en vba dans excel
    Par ppfun dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/04/2014, 20h25
  2. besoin d'aide sur une requette sql
    Par maxidoove dans le forum Langage SQL
    Réponses: 13
    Dernier message: 10/10/2005, 18h42
  3. Besoin d'aide sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2005, 17h40
  4. Réponses: 1
    Dernier message: 03/08/2005, 11h41
  5. Besoin d'aide sur une requête (JOIN + COUNT ?)
    Par PanzerKunst dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2005, 10h29

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