Vous êtes sur la page 1sur 3

TD2

Une premire application Java


L'objectif de ce TD est de crer une petite application permettant la gestion des tudiants au sein d'une
universit. Cette application doit proposer une reprsentation des tudiants ainsi que de la base
contenant l'ensemble des tudiants. Enfin, l'application devrait permettre de grer les notes attribues
aux tudiants tout au long de l'anne.
Votre application Java se composera de trois classes : une classe Etudiant pour reprsenter une
tudiant, une classe Module pour reprsenter un module et une classe Universite qui va contenir
l'ensemble des tudiants inscrits l'universit. Vous vous placerez dans un dossier TD2.

EXERCICE 1 : La classe Etudiant


Gnralement un tudiant est identifi par son nom, son prnom et un numro d'tudiant.
Question 1 : Crez une classe Etudiant dans un fichier Etudiant.java. Cette classe doit contenir
trois attributs : le nom et le prenom de l'tudiant qui sont des chanes de caractres (String), et son
numero qui est un entier (int).
Consignes : la classe Etudiant doit tre visible de n'importe o pour pouvoir permettre l'utilisation du
type Etudiant dans une autre classe de l'application. Quel niveau de visibilit devez-vous donner la
classe Etudiant ? En revanche les attributs de la classe Etudiant ne doivent pas tre directement
accessibles en dehors de la classe. Quel niveau de visibilit devez-vous donner aux attributs de la classe
Etudiant ?
Question 3 : Pour tester votre code, ajoutez la classe Etudiant une mthode main dans laquelle vous
allez crer une nouvelle instance de la classe Etudiant de la faon suivante :
Etudiant etud1 = new Etudiant();
A la suite, vous crirez une ligne de code permettant d'afficher les caractristiques de l'tudiant etud1,
dans la console, via le texte suivante :
L'tudiant : <nom> <prenom> a pour numro d'tudiant <numero> .
Vous pouvez compiler et excuter une premire fois votre programme. Pour rappel les lignes de
commandes lancer sont les suivantes :
javac -d ./bin src/Etudiant.java
java -classpath ./bin Etudiant
Vous constaterez que les valeurs associes au nom, prnom et numro de l'tudiant sont null ou 0.
C'est--dire que vous avez bien permis la cration d'un nouvel objet de type Etudiant mais aucune
valeur n'est assigne aux diffrents attributs de l'objet. Pour permettre la cration d'un tudiant avec une
initialisation des attributs, il faut ajouter un ou plusieurs constructeurs avec paramtres.
Question 4 : Ajoutez la classe Etudiant un constructeur prenant deux paramtres, le nom et le
prnom de l'tudiant, qui remplit les attributs nom et prenom de la classe.
Question 5 : Ajoutez ensuite un constructeur prenant trois paramtres, le nom de l'tudiant, son
prnom et son numro, qui remplit les attributs nom, prenom et numero.
Question 6 : Ajoutez la mthode main, le code ncessaire pour tester ces nouveaux constructeurs, en
crant deux nouveaux tudiants et en affichant leurs caractristiques. Compilez et excutez votre
programme.

EXERCICE 2 : La classe Universite.


La classe Universite, caractrise par un nom, doit se charger de la cration des nouveaux tudiants
et les stocker dans sa base.
Question 1 : Crez une classe Universite dans un fichier Universite.java. Cette classe suit les
mmes consignes que la classe Etudiant pour ce qui est des niveaux de visibilit. Vous ajouterez une
mthode main sur le mme principe que celle de la classe Etudiant (cration de trois tudiants et
affichage des caractristiques de ceux-ci). Compilez et excutez votre programme, que constatez-vous ?
Modifiez la classe Etudiant pour rsoudre ce problme .
Question 2 : Pour simuler la base contenant les tudiants, vous allez utiliser un tableau d'tudiants.
Ajoutez la classe Universite un attribut base qui est un tableau d'tudiants.
Question 3 : Ajoutez alors la classe Universite un constructeur ayant deux paramtres, son nom et
la taille maximale du tableau des tudiants (le nombre maximum d'tudiants que l'universit peut
accueillir). Dans ce constructeur, vous crirez le code ncessaire la cration du tableau d'tudiants
ayant pour taille maximale celle passe en paramtre.
Question 4 : Modifiez la mthode main de la classe Universite pour successivement :
Crer une instance univ de la classe Universite pouvant accueillir au maximum 10 tudiants et
ayant pour nom UPMC .
Crer deux tudiants.
Ajouter les deux tudiants la base de univ.
Afficher sur la console le contenu du tableau base de univ l'aide d'une boucle for.
Compilez et excutez la classe Universite. Que constatez-vous ? Modifier l'affichage pour que les
caractristiques des tudiants contenus dans la base apparaissent plus clairement.
Question 5 : (Mettez en commentaire le code de la question 4) Modifiez la mthode main de la classe
Universite pour recevoir le nom et le prnom des tudiants en ligne de commande. La mthode main
doit alors crer une instance de la classe Universite pouvant accueillir les n tudiants passs en ligne de
commande, puis remplir le tableau base avec les n instances de la classe Etudiant avec les noms et
prnoms donns, le numro d'tudiant correspondra l'ordre de lecture des tudiants sur la ligne de
commande (aide : utilisez une boucle pour la cration des instances d'tudiants, l'affectation de leur
numro d'tudiant et leur insertion dans la base). Enfin, elle affichera clairement le contenu de la base.
Par exemple, en lanant votre programme de la faon suivante :
java -classpath ./bin Universite nom1 prenom1 nom2 prenom2
l'instance de la classe Universite devra accueillir deux tudiants. La premire instance de la classe
Etudiant aura pour nom nom1 et pour prnom prenom1. Son numro d'tudiant sera le numro 0, tandis
que le second tudiant se verra attribu le numro 1... etc... la base devra contenir les deux instances de
la classe Etudiant. L'affichage en sortie serra alors de la forme :
Contenu de la Base
Etudiant 0 : nom1 prenom1
Etudiant 1 : nom2 prenom2
Compilez et excutez votre programme.

EXERCICE 3 : La classe Module.


La classe Module va nous permettre de simuler les notes des tudiants pour un module donn. La classe
Module va donc tre dfinie par un nom et par une note.
Question 1 : Crez la classe Module avec les attributs et les constructeurs adquats.
Question 2 : Ajoutez la classe Etudiant un tableau de modules qui permettra de stocker pour chaque
tudiant leurs notes acquises chaque module. Pour simplifier, cet attribut sera accessible de l'extrieur.
Pensez modifier les constructeurs pour permettre la cration du tableau de modules (la taille maximale
du tableau sera de 10 modules).

Question 3 : Modifiez la mthode main de la classe Etudiant pour tester l'ajout de nouveaux modules
dans le tableau de modules.

EXERCICE 4 : Finalisation
Pour que l'application soit complte, la gestion des ajouts des modules aux tudiants doit se faire au
niveau de la classe Universite. Dans un premier temps, vous allez mettre en commentaire la mthode
main contenue dans la classe Etudiant pour que la seule possibilit de lancer votre application se fasse
via la classe Universite.
Question 1 : (Mettez en commentaire le code de la question 5 de l'exercice prcdent) Modifiez la
mthode main de la classe Universite pour que l'application est le fonctionnement suivant :

Cration d'une instance de Universite ayant pour nom Marne La Vallee et pouvant accueillir 100
tudiants.
Cration de trois instances d'un module informatique avec respectivement les notes 9, 12 et 18.
Cration de trois instances d'un module mathmatiques avec respectivement les notes 11,15, 20.
Cration de trois instances d'un module chimie avec respectivement les notes 13, 2 et 14.
Cration de trois tudiants avec nom, prnom et numro d'tudiant renseigns.
Ajout des modules aux trois tudiants pour leur assigner leur notes dans chacun des modules. Par
exemple, le premier tudiant se verra attribuer les modules informatique avec la note 9 et
mathmatiques avec la note 11, et ainsi de suite.
Ajout des trois tudiants dans la base de l'universit.

Question 2 : Enfin, comme prsent au TD1, crivez la documentation de vos diffrentes classes. Cette
documentation est indispensable pour expliquer la signification de vos classes, de leurs attributs, de leurs
constructeurs et de leurs mthodes en gnral et permettre ainsi un utilisateur extrieur d'utiliser et
comprendre vos classes. Si vous respectez les consignes d'criture de la documentation des programmes
Java, la javadoc de votre application peut tre automatiquement gnre. Pour ce faire, excuter la
commande suivante :
javadoc -private

-charset utf-8 -d ./doc src/Universite.java src/Etudiant.java src/Module.java

La documentation est gnre dans le dossier doc sous la forme de fichiers HTML. Vous pouvez constatez
le rsultat de la gnration en ouvrant le fichier index.html. Modifiez les commentaires de vos classes
jusqu' obtenir le rsultat souhait.