bonjour à tous,
je souhaite créer et manipuler une expression que l'utilisateur entre.pour cela j'ai créé une classe expression,une classe littéral et une classe opérateur.mais j'avoue que je suis bloqué dans la mise en œuvre de ma classe expression.exemple d'expression que je veux pouvoir manipuler 2*x,2+x,bonjour etc.

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
public class Expression  {
 
    Litteral litteral;
 
 Operateur operateur;
 
 
    public Expression(Litteral litteral, Operateur operateur) {
        this.litteral = litteral;
 
        this.operateur = operateur;
    }
 
    public void setOperateur(Operateur operateur) {
        this.operateur = operateur;
    }
    public Type getTypeExpression()
    {
        return litteral.getType();
    }
 
    public Litteral getLitteral() {
        return litteral;
    }
    public void afficherExpression()
    {
 
    }
}
 
public class Litteral {
    String idLitteral;
    Type type;
 
    public Litteral(String idLitteral,Type type) {
        this.idLitteral = idLitteral;
        this.type=type;
    }
 
    public Litteral(Type type) {
        this.type = type;
    }
 
    public Type getType() {
        return type;
    }
 
 
 
    public void conversionType()
    {// if(type.Int)
 
    }
 
 
 
 
 
     public void afficher()
    {
 
    }
 
}
 
public enum Operateur {
    inf("<"),sup(">"),plus("+"),fois("*"),div("/"),moins("-");
 
    private final String ope;
 
    private Operateur(String ope) {
        this.ope = ope;
    }
 
    public String getOpe() {
        return ope;
    }
 
 
 
    public static Operateur opera(String ope)
    {
       for(Operateur valeurEnum:values())
       {if(valeurEnum.getOpe().equals(ope))
           return valeurEnum;
 
       }return null;
    }