Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arbre

Méthode afficher_arbre

Sujet résolu
    14 décembre 2009 à 16:45:51

    Bonjour, je tente de faire une méthode afficher a mon arbre n aire.

    Malheureusement celui ci m'affiche pas l'arbre.

    Y a t'il quelque chose qui cloche dans ce morceau de code ?

    class Tree<T> {
        T val;
        Tree<T>[] enfants;
    
        Tree(T val) {
            this.val = val;
            this.enfants = new Tree[0];
        }
    
        Tree(T val, Tree<T>[] enfants) {
            this.val = val;
            this.enfants = enfants;
        }
        
        public int taille() {
            int compteur = 1;
            for (Tree<?> enfant : enfants)
                compteur += enfant.taille();
            return compteur;
        }
    
        public void afficher_arbre()
        {
            for (Tree<?> enfant : enfants)
                System.out.println(val);
        }
    
        public static void main(String[] args) {
            Tree d = new Tree('D');
            Tree e = new Tree('E');
            Tree g = new Tree('G');
            Tree h = new Tree('H');
            Tree i = new Tree('I');
    
            Tree[] enfants_de_f = { g, h, i };
            Tree f = new Tree('F', enfants_de_f);
    
            Tree[] enfants_de_b = { d, e };
            Tree b = new Tree('B', enfants_de_b);
    
            Tree[] enfants_de_c = { f };
            Tree c = new Tree('C', enfants_de_c);
    
            Tree[] enfants_de_a = { b , c };
            Tree a = new Tree('A', enfants_de_a);
    
            System.out.println(a.taille());
            a.afficher_arbre();
        }
    
    
    }
    


    Normalement j'ai 9 valeurs je voit que
    "9
    A
    A" en sortie

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      14 décembre 2009 à 22:25:35

      public void afficher_arbre()
          {
              for (Tree<?> enfant : enfants)
                  System.out.println(enfant<val>);
          }
      

      Je suis pas du tout sur de ce que je dis mais l'idée c'est que la structure for(type variable: tableau) les éléments sont compris dans variable.
      • Partager sur Facebook
      • Partager sur Twitter
        14 décembre 2009 à 22:28:52

        Merci de ton aide mais y a une erreur de compilation avec ta ligne
        • Partager sur Facebook
        • Partager sur Twitter
          14 décembre 2009 à 22:38:03

          Comme je te dis j'ai tapé mon code au pif je ne connais pas bien les listes et compagnie.
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2009 à 12:05:42

            Rebonjour,

            personne ne sait cela ? ou on peut pas faire ça en java ? :(
            • Partager sur Facebook
            • Partager sur Twitter
              22 décembre 2009 à 12:32:44

              public void afficher_arbre()
                  {
                      afficher_arbre("");   
                  }
              
              private void afficher_arbre(String t)
                  {
                      System.out.println(t+val); 
                      for (Tree<?> enfant : enfants)
                           enfant.afficher_arbre(t+"\t");    
                  }
              


              "\t" c'est un caractère de tabulation
              • Partager sur Facebook
              • Partager sur Twitter

              Arbre

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown