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 :

comment sortir de deux loop


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut comment sortir de deux loop
    voici le pseudo code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while (true)
    {
         for (int i=0; i<taille, i++){
                 if (condition ==true)       
                       // ici j ai besoin d un statmennt qui me permettera de sortir des deux loops
     
        }
    }

  2. #2
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Bonjour,

    je ne sais pas si c'est celà que tu veux, mais j'ai écrit celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    boolean sortie_while=false;
    int i, taille=10;
     
    while (sortie_while==false) {
          for (i=0;i<taille, i++){
             if (tableau[i] =="lemeilleur")
                sortie_while=true;
          }
    }
    Sinon, tu voulais plutôt une sorte d'exit for ou autre chose ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par gui80 Voir le message
    Bonjour,

    je ne sais pas si c'est celà que tu veux, mais j'ai écrit celà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    boolean sortie_while=false;
    int i, taille=10;
     
    while (sortie_while==false) {
          for (i=0;i<taille, i++){
             if (tableau[i] =="lemeilleur")
                sortie_while=true;
          }
    }
    Sinon, tu voulais plutôt une sorte d'exit for ou autre chose ?
    j ai besoin d exit des deux loop immediate, sans avoir a terminer le for loop

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    boolean sortie_while=false;
    int i, taille=10;
     
    while (sortie_while==false) {
          i=0;
          while (i<taille && sortie_while==false){
             if (tableau[i] =="lemeilleur")
                sortie_while=true;
             i++;
          }
    }
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par guigui5931 Voir le message
    dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    boolean sortie_while=false;
    int i, taille=10;
     
    while (sortie_while==false) {
          i=0;
          while (i<taille && sortie_while==false){
             if (tableau[i] =="lemeilleur")
                sortie_while=true;
             i++;
          }
    }
    Est ce que c est possible de garder le premier code tel qu il etait, et passer en mode exception pour arreter l execution

  6. #6
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    boolean sortie_while=false;
    int i, taille=10;
     
    while (sortie_while==false) {
          for (i=0;i<taille, i++){
             if (tableau[i] =="lemeilleur")
                 { 
                    sortie_while=true;
                    break; //ou continue je sais jamais !
                  }
          }
    }
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  7. #7
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    boolean sortie_while=false;
    int i, taille=10;
     
    while (sortie_while==false) {
          for (i=0;i<taille, i++){
             if (tableau[i] =="lemeilleur")
                 break;
          }
    }
    Continue sert simplement à sauter le reste des instructions en dessous du continue dans la boucle en cours, mais passe à l'itération suivante de la boucle.

  8. #8
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Java permet cela même si la syntaxe n'est pas très connue:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    general:while (true)
    {
        for (int i=0; i<taille, i++){
            ...
            if (condition ==true) break general;
           ...
        }   
    }

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Uther : ce n'est pas exit mais break qu'il faut utiliser, et cela s'appelle une étiquette


    A utiliser avec parcimonie toutefois !


    a++

  10. #10
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Pas étonnant que ce ne soit pas çonnu !
    On retourne aux temps des goto en dos.
    Mais merci, personnellement, je ne savais pas que Java avait gardé une méthodologie comme celle-là.
    Ils étaient nostalgique peut-être.

  11. #11
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Adiguba :Arg tu es rapide.
    Je connais les balises [code] t'inquiètes, j'ai posté ça par erreur avant de l'avoir relu. Pas le temps d'éditer discrètement que je suis déjà repéré, dénnoncé et exposé à la vindicte populaire.


    Gui80 : Personellement je n'ai rien contre le goto du C/C++. C'est vrai qu'il permet les pires horreurs si on en abuse, mais s'il est utilisé judicieusement et avec parcimonie, il peut rendre le code plus simple et clair. Par exemple par rapport aux solutions qui ont été proposées ici. Ce genre de cas est typiquement un cas ou l'utilisation du goto est pratique.

    Je ne trouve par conséquent pas du tout bête cette syntaxe.

Discussions similaires

  1. Comment sortir deux informations liées à une table
    Par Chrigou dans le forum Langage SQL
    Réponses: 7
    Dernier message: 13/05/2012, 16h25
  2. [DB2][procedure stockee] Comment sortir en erreur?
    Par ze_patoche dans le forum DB2
    Réponses: 3
    Dernier message: 14/02/2006, 15h26
  3. comment faire communiquer deux form MDI?
    Par eponette dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2005, 12h20
  4. Réponses: 4
    Dernier message: 28/02/2005, 18h04
  5. Comment sortir d'une dll ?
    Par Fred007 dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2004, 08h21

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