Vous êtes sur la page 1sur 2

Ecole Nationale d’Ingénieurs Année universitaire :

GTE-1/IA-1
de Sousse 2021-2022

Programmation Java
TP2
Objectif du TP

 Modélisation d’une classe et manipulation d’objets


 Modélisation des associations un-un et un-plusieurs

Travail demandé
Partie I
Créer un projet « Tp2 » contenant dans un même paquetage, une classe de test « TP2 », une classe
« Eleve » et une classe « Groupe » qui modélise un groupe d’élèves (des instances de la classe
Eleve). Les classes doivent respecter les descriptions ci-dessous.
La classe « Eleve » possède :
- Un attribut nom, privé et de type String.
- Un attribut listeNotes, privé et représente un ensemble de notes, qui sont des entiers rangés
dans un ArrayList<Integer>.
- Un attribut moyenne, privé, de type double et qui doit toujours être égale à la moyenne
des notes contenues dans l'attribut listeNotes. Un élève sans aucune note reçoit une
moyenne nulle.
- Un constructeur permettant d'initialiser uniquement le nom de l'élève.
- Les getters pour la moyenne, le nom et la liste des notes de l'élève (public).
- Une méthode ajouterNote(int note) qui ajoute la note reçue en paramètre à listeNotes.
Elle respecte les contraintes suivantes :
*si la note reçue en paramètre est négative, la note introduite est 0.
*si la note reçue en paramètre est supérieure à 20, la note sera 20.
*la méthode actualise en conséquence l'attribut moyenne.
- Une méthode toString()qui retourne une description de l'élève considéré (par exemple :
"Meryam : 12.25 ").
La classe « Groupe » possède :
- Deux attributs privés, listeEleves qui une collection d'Eleve(s) et nomGroupe de type
String.
- Une méthode nombre()qui retourne le nombre d'Eleve(s) contenus dans listeEleves.
- Deux méthodes getListe() et getnomGroupe () qui renvoient respectivement listeEleves et
nomGroupe.
- Une méthode setnomGroupe(String nom) qui attribut un nom pour chaque groupe.
- Une méthode ajouterEleve(Eleve eleve)ajoute l'Eleve reçu en paramètre à listeEleves.
- Une méthode Eleve chercher(String nom) qui renvoie l'Eleve dont le nom est indiqué
par le paramètre. La méthode renvoie le premier Eleve ayant ce nom contenu
dans listeEleves ; si aucun Eleve n'a le nom indiqué, la méthode retourne null .
© Abdellatif – BAYAR – Haamdi
1
Ecole Nationale d’Ingénieurs Année universitaire :
GTE-1/IA-1
de Sousse 2021-2022

- Une méthode lister() affiche à l'écran la liste des Eleves avec leurs moyennes.
Au niveau de la classe de test « TP2 »,
- Créer les élèves E1, E2 et E3 et leurs attribuer des notes au niveau de trois modules.
- Les élèves appartiennent à un même groupe G1.
- Afficher les élèves du groupe avec leurs moyennes.
- Effectuer la recherche d’un élève du groupe G1. Le message « nom de l’élève
existe/n’existe pas dans le groupe » s’affiche.

Partie II
Soit le diagramme de classe suivant :

Elève Adresse
1
has

m
Groupe

- Créer la classe « Adresse » ayant les attributs privés rue et avenue de type String et
numMaison de type entier. Initialement nous considérons qu’un élève possède une seule
adresse et qu’une adresse est relative à un seul élève (relation de type un-un).
- Apporter les modifications nécessaires au niveau des classes crées pour être adéquat avec
le diagramme de classe. Considérons que la portée des nouveaux attributs de deux classes
est par défaut.
- Tester les modifications apportées en affichant pour chaque élève les informations qui le
décrient (nom, adresse et groupe d’appartenance). Il faut commencer par associer une
adresse et un nom de groupe à chaque élève.
Maintenant, nous considérons le cas le plus réel. Un élève possède une adresse et une adresse est
relative à « un » à plusieurs élèves (relation de type 1…*).
- Apporter les modifications nécessaires au niveau de deux classes « Eleve » et « Adresse »
pour être adéquat avec cette modélisation.
- Créer une méthode permettant d’ajouter un élève à une adresse.
- Créer une méthode qui retourne la liste des élèves (leurs noms) habitant la même avenue.
- Tester la méthode. Il faut commencer par ajouter un ensemble d’élèves à une même
adresse.

© Abdellatif – BAYAR – Haamdi


2

Vous aimerez peut-être aussi