Salut,
je cherche à évaluer un arbre binaire mais je coince :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Noeud {
   private String etiquette;
   private Noeud gauche;
   private Noeud droit;
 
   public Noeud(String etiquette, Noeud gauche, Noeud droit) {
      this.etiquette = etiquette;
      this.gauche = gauche;
      this.droit = droit;
   }
 
   public Noeud(String etiquette) {
      this(etiquette,null,null);
   }
 
   public double eval() {
      double res = 0;
      double g = 0;
      double d = 0;
      if(this.etiquette.equals("-") && this.gauche == null) this.droit.eval();
      if(!estNombre(this.etiquette)) {
         if(estNombre(this.gauche.etiquette) && estNombre(this.droit.etiquette)) {
            Double a = new Double(this.gauche.etiquette);
            Double b = new Double(this.droit.etiquette);
            g = a.doubleValue();
            d = b.doubleValue();
            if(this.etiquette.equals("+")) res = g + d;
            else if(this.etiquette.equals("/")) res = g / d;
            else if(this.etiquette.equals("*")) res = g * d;
            else res = g - d;
         }
      }
      if(!estNombre(this.etiquette)) {
         if(this.gauche != null) this.gauche.eval();
         if(this.droit != null) this.droit.eval();
      }
      return res;
   }
Voila ce que j'ai fait, mon probleme est ue je ne sais pas comment faire pour garder le résultat quelque part vu qu'il sera modifié a chaque fois que j'appelle récursivement la fonction. Je m'y prends surement mal... que faire ?
merci