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 :

Appel recurssif et boucle Do...While


Sujet :

Langage Java

  1. #1
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2003
    Messages : 219
    Points : 108
    Points
    108
    Par défaut Appel recurssif et boucle Do...While
    j'implémente une méthode maMethode(String a,b,c) dans laquelle je fais un appel récurssif dans une boucle Do...While(cond). Sachant la condition cond dépend des variables en paramètre, J'aimerai au terme de l'exécution de maMethode() conserver l'un des paramètres (b par exemple). Un peu comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public static void maMethode(String a, String b, String c)  {
         String b1=b; // conserver la valeur de b et travailler avec b1
         if ()
         else if()
         else  {
             do  {
                  b1=... // modifier la valeur de b1
                  maMethode(a,b1,c) // appel recurssif avec a, b1 et c
                }
               while (b1.equals(c));
          }
    Est ce possible de conserver la toute première valeur du paramètre b ?
    si oui comment ?

  2. #2
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    tu sauvegarde ta valeur souhaitée dans une variable de la classe (qui est déclaré dans la classe et non pas dans la méthode ) ---> elle ne s'ecrase pas
    ;-) cordialement

  3. #3
    Membre éprouvé
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Points : 1 246
    Points
    1 246
    Par défaut
    Il suffit d'utiliser une variable de classe et un boolean par exemple
    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
    19
     
    public MaClasse {
     
    pivate String conserve_b;
    private boolean set_b;
     
     MaClasse(){
    	set_b = false;
    }
     
     
    public void maMethode(String b){
    	if(!set_b){
    		conserve_b.equals(b);
    		set_b = true;
    	}
     
      }
    }

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    en code ca donne un truc du genre :
    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
    19
    20
    21
    22
    23
     
    public class taClasse {
     
    private String variable;
     
       [...]
          variable = truc;
          taMethode(a, truc, c);
       [...]
     
       public static void taMethode(String a, String b, String c)  { 
          b1=b; // conserver la valeur de b et travailler avec b1 
          if () 
          else if() 
          else  { 
             do  { 
                  b1=... // modifier la valeur de b1 
                  taMethode(a,b1,c) // appel recurssif avec a, b1 et c 
               } 
               while (b1.equals(c)); 
          } 
       }
    }

  5. #5
    Membre éprouvé
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Points : 1 246
    Points
    1 246
    Par défaut
    Citation Envoyé par peppena
    tu sauvegarde ta valeur souhaitée dans une variable de la classe (qui est déclaré dans la classe et non pas dans la méthode ) ---> elle ne s'ecrase pas
    Je suis très étonné par cette réponse.

  6. #6
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2003
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    merci à tous,
    surtout c'est l'approche de c-top qui résoud mon problème.
    Mais,il fallait encore faire un appel recurssif quand on conserve b c'est à dire après avoir mis set_b=true

    merci Hoyeeeeeeeeeeeeeeeeeeeeeeeee..............

  7. #7
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2003
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    merci à tous,
    surtout c'est l'approche de c-top qui résoud mon problème.
    Mais,il fallait encore faire un appel recurssif quand on conserve b c'est à dire après avoir mis set_b=true

    merci Hoyeeeeeeeeeeeeeeeeeeeeeeeee..............

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

Discussions similaires

  1. Problème Boucle Do-While?!
    Par Julien_C++ dans le forum C++
    Réponses: 6
    Dernier message: 29/07/2006, 12h23
  2. Boucle Do ..while
    Par parp1 dans le forum Général Python
    Réponses: 2
    Dernier message: 11/06/2006, 13h32
  3. Réponses: 13
    Dernier message: 20/03/2006, 16h26
  4. [VBA] Boucle Do While
    Par jmde dans le forum Access
    Réponses: 4
    Dernier message: 16/10/2005, 20h23
  5. probleme de recordset dans une boucle do while
    Par Shoryu dans le forum ASP
    Réponses: 18
    Dernier message: 05/07/2004, 15h30

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