instancesCarre.add(uneFigure) ;
}
return instancesCarre ;
}
//Fichier Test.java
import java.util.Vector ;
import java.util.Enumeration ;
public class Test{
public static void main(String[] argv){
Figure f1 = new Figure(1,1,Color.cyan) ;
Figure f2 = new Figure(2,2,Color.red) ;
Carre c3 = new Carre(3,3,Color.green,3) ;
Figure f4 = new Figure(4,4,Color.pink) ;
Carre c5 = new Carre(5,5,5,Color.black) ;
System.out.println("Liste des figures") ;
Enumeration e = Figure.getInstances().elements() ;
while(e.hasMoreElements()){
System.out.println(e.nextElement()) ;
}
System.out.println("Liste des carres") ;
e = Carre.getInstances().elements() ;
while(e.hasMoreElements()){
System.out.println(e.nextElement()) ;
}
}
}
Exercice 3 [Evaluateur d’expressions bool´eennes] Pour ceux qui ont encore du temps
L’objectif de cet exercice est d’´ecrire un programme prenant une expression bool´eennes en nota-
tion postfixe en argument, affichant l’expression en ordre infixe (avec parenth`eses) puis affichant
le r´esultat de l’´evaluation de cette expression.
Par exemple :
java Eval 1 0 + 1 .
affichera :
(true.(false+true)) = true
On utilise des bool´eens comme valeurs et les op´erateurs sont : +(ou), .(et) et -(non). On d´efinira
une interface ExprBool ainsi que les classes suivantes : Eval,OpBin,OpUn,Ou,Et,Non et
MyBoolean. Pour la pile, on pourra utiliser la classe pr´ed´efinie Stack.
1. Ecrire le graphe d’h´eritage des classes demand´ees.
2. Ecrire l’interface Expr qui sp´ecifie deux m´ethodes : public boolean eval() et
public String toString().
Correction :
interface Expr {
public boolean eval();
public String toString();
}
5