Académique Documents
Professionnel Documents
Culture Documents
………………………………. ……………………………….
………………………………. ……………………………….
……………………………….
……………………………….
import java.util.HashSet;
import java.util.TreeSet;
import java.util.Iterator;
public class Library {
// ----- Attributes ----------
private TreeSet theLoanStock; (1Pt)
private HashSet theBorrowers; (1Pt)
}
import java.util.LinkedList;
public class BorrowerRecord implements Comparable {
// ----- Attributes ----------
private LinkedList theBorrowedBooks; (1Pt)
}
Page. 1/5
Exercice N°2 (5Pts : 1pt par relation)
Considerons la classe java suivante :
Page. 2/5
Exercice N°3 (5Pts)
Considerons le pattern OBSERVER appliqué à un point. Chaque fois que la valeur de l’une
des coordonnées du point est modifiée, les observateurs qui se sont enregistrés auprès de
ce point sont notifiés. Complèter le code suivant pour que le programme fonctionne.
Inscrivez les numéros des méthodes ci-dessous au bon endroit.
(1) enregistreObservateurs
(2) metsAJour
(3) NotifieObservateurs
(4) notifieObservateurs
(5) enregistreObservateurs
package observer;
public interface Observateur {
void metsAJour(String attributModifie, Object nouvelleValeur);
}
package observer;
public class ObservateurCoordonnee implements Observateur {
@Override
public void metsAJour(String attributModifie, Object nouvelleValeur) {
System.out.println("Attribut : " + attributModifie + " Valeur : " +
nouvelleValeur);
}
}
package observer;
import java.util.ArrayList;
import java.util.List;
public class Sujet {
//------------- Attributs -----------------
protected List<Observateur> observateurs;
//------------- Méthodes -----------------
public Sujet() {observateurs = new ArrayList<>();}
public void …………………………..(Observateur electeur)
{
this.observateurs.add(electeur);
}
protected void …………….(String attributModife, Object nouvelleValeur)
{
for(Observateur observateur : observateurs)
{
observateur……………….. (attributModife, nouvelleValeur);
}
}
}
Page. 3/5
package observer;
public class Point extends Sujet{
//------------- Attributs -----------------
protected int x, y;
//------------- Méthodes -----------------
public Point(int x, int y) {super();this.x = x;this.y = x;}
public int getX() {return x;}
public int getY() {return y;}
public void setX(int x) {this.x = x; this……………………… ("x", x);}
public void setY(int y) {this.y = y; this……………………… ("y", y);}
}
package observer;
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
Point unPoint = new Point(10, 15);
String reponse ="";
do{
System.out.print("1 - modifier x ; 2 - modifier y ; 3 - sortir :");
reponse = reader.next();
if(reponse.equals("1")){
System.out.print("Entrer la coordonnees x :");
Integer x = reader.nextInt();
unPoint.setX(x);
}else if(reponse.equals("2")){
System.out.print("Entrer la coordonnees y :");
Integer y = reader.nextInt();
unPoint.setY(y);
}
System.out.println("x : " + unPoint.getX() + " y : " + unPoint.getY());
}while (!(reponse.equals("3")));
}
}
Page. 4/5
Exercice N°4 (5Pts)
Complétez le code Java suivant pour la classe Student en donnant des implémentations
pour les corps de méthode.
Développez maintenant une application qui crée une instance S de la classe Student et
affiche ses détails.
Page. 5/5