Sie sind auf Seite 1von 2

L2 FLIN407 - F evrier-Mars 2011

Manipulation de collections en Java


Lors des TPs pr ec edents, vous avez mis en place une classe Etudiant. Nous allons au cours de ce TP mettre en place une classe Promotion, qui utilisera la classe Etudiant.

Exercice 1 Classe Promotion

Question 1. Une promotion est un ensemble d etudiants, pour une ann ee donn ee. Nous repr esentons cette relation entre la classe Etudiant et la classe Promotion par une association (voir Figure 1).

Promotion

etudiants 1 *

Etudiant

Figure 1 Classes Etudiant et Promotion a- Mettez en place la classe Promotion et lassociation entre Promotion et Etudiant. Pour cela, on placera dans la classe Promotion un vecteur d etudiants. Ce vecteur aura une visibilit e priv ee. On veillera ` a bien mettre dans la classe Promotion un attribut repr esentant lann ee, les accesseurs associ es, et deux constructeurs : un constructeur sans param` etres, et un constructeur prenant une ann ee en param` etre. Les constructeurs initialiseront lann ee et cr eeront le vecteur. La documentation de la classe Vector de Java est disponible via la documentation de lAPI Java : /usr/local/java/docs/5.0/api/index.html. b- Ecrire deux m ethodes publiques manipulant ce vecteur : une retournant le i` eme etudiant du vecteur, et une retournant le nombre d etudiants de la promotion. c- Mettez en place une classe TestPromotion (avec un main) qui vous permet de tester votre classe Promotion. Question 2. Compl etez la classe Promotion avec les m ethodes suivantes (on veillera a ` bien tester chacune des m ethodes au fur et a ` mesure, gr ace ` a la classe TestPromotion) : une m ethode inscrire qui permet dinscrire un etudiant dans la promotion ; une m ethode moyenneGenerale qui retourne la moyenne g en erale de la promotion ; une m ethode afficheResultats qui ache une ligne pour chaque etudiant (correspondant au r esultat de la m ethode ligneResultat) ; une m ethode recherche qui permet de retrouver un eudiant dapr` es son nom. On suppose quil ny a pas dhomonymes ; une m ethode admis qui retourne lensemble des etudiants admis ; une m ethode nouveauxInscritsNonFrancophones qui retourne lensemble des nouveaux inscrits non francophones, elle est utilis ee pour conna tre les etudiants susceptibles de suivre des cours de soutien en fran cais ; une m ethode majors qui retourne les etudiants dont la moyenne est la plus elev ee.

L2

Manipulation de collections en Java

Exercice 2 Utilisation de la classe Promotion Ecrivez une classe avec un main permettant deectuer les op erations suivantes (cette classe doit fortement ressembler ` a votre classe de test) : cr eation dune promotion vide d etudiants, inscription des etudiants dans cette promotion (les etudiants doivent bien s ur etre cr e es auparavant), achage du nombre des nouveaux inscrits non francophones, attribution des notes aux etudiants, achage du nom des majors de la promotion, achage des r esultats.

Exercice 3 Trier des promotions

On souhaite pouvoir trier une promotion en prenant comme ordre naturel sur les etudiants lordre alphab etique sur leurs noms puis leurs pr enoms. Rendez les etudiants comparables ; Ajoutez une m ethode de tri par nom d etudiants dans la classe Promotion ; Testez ces ajouts. On souhaite egalement pouvoir visualiser une promotion par ordre de r eussite, en la triant par ordre de moyennes de notes d ecroissantes (le premier de la promotion en t ete de promotion). Ecrivez un comparateur d etudiants selon leur moyenne ; Ajoutez une m ethode de tri par moyenne dans la classe Promotion ; Testez ces ajouts.

TP FLIN407

F evrier-Mars 2011