tp3_Suite

publicité
TP3 JAVA
1A/AS 1998/99
IUTA LYON 1
Informatique Bourg
TP3 : Gestion des notes
1. Introduction
L’objectif de ce TP est de reprendre les notions de la programmation JAVA abordées en TD.
Il s’agit aussi de montrer les spécificités de JAVA par rapport aux autres langages.
Principales notions abordées :
- composition de classes
- gestion des exceptions
- classe Vector
- classe Hashtable
- lecture dans un fichier
Le but de ce TP est de créer un programme permettant de gérer les notes des élèves.
On reprend les classes Eleves et Notes définies lors du TP1.
La classe Eleves contient le nom et le prénom d’un élève. Elle est aussi composée d’une
référence sur un objet Notes.
La classe Notes contient une suite de notes (Class Vector).
Exercice 1 : Implémenter ces classes ainsi que les méthodes permettant d’accéder aux
différents attributs.
2. Java.util.Vector
Vector est une classe “ collection ”.
Tout objet de cette classe contient une collection ordonnée d’éléments. Il s’agit
essentiellement d’un tableau dynamique.
C’est une des particularités les plus puissantes de JAVA. La classe Vector simplifie
grandement la manipulation des tableaux dynamiques par rapport aux langages C et C++.
On peut ajouter ou enlever des éléments à n’importe quelle position. La taille du vecteur est
automatiquement mise à jour.
Un vecteur se déclare et s’instancie tout simplement : Vector vecteur = new Vector();
Les principales méthodes de cette classe sont :
- addElement(element) pour ajouter à la fin
- insertElement(elment,i) pour insérer en position i.
- removeElement(i) enlève l’élément I et décale les suivants.
- size() fournit le nombre d’éléments
- firstElement(), lastElement() et elementAt(i) accèdent aux éléments
- contains(Object) vaut Vrai si l’objet est contenu dans le vecteur, faux sinon.
Remarque : la classe Vector ne contient que des éléments de type Objet. On peut donc mettre
côte à côte des éléments de types différents.
-1-
TP3 JAVA
1A/AS 1998/99
Conséquence : il faudra “ caster ” les éléments dans le bon type avant de pouvoir les utiliser.
Exercice 2: compléter la classe Notes et créer une méthode permettant de calculer la moyenne
des notes. Gérer les exceptions !
Définir un ou plusieurs constructeurs de la classe Notes qui permet de créer une nouvelle
instance (utiliser le plus possible de méthodes spécifiques à la classe Vector)
3. java.util.Hashtable
On veut maintenant différencier les notes selon les matières, on va donc créer un objet de type
Hashtable.
Il s’agit d’une collection d’objets auxquels on accède grâce à une clé qui est un objet devant
implémenter la méthode hashCode et la méthode equals.
Son utilisation est assez semblable à celle de la classe Vector.
Les principales méthodes de cette classe sont :
- put(clé, new Constructeur()) pour ajouter un élément
- get(clé) pour accéder à un élément
- remove(clé) pour l’enlever
Exercice 3 : modifier la classe Eleve pour qu’elle soit composée d’une instance de Hashtable
qui contienne les notes dans chaque matière.
Remplir la table et créer les méthodes nécessaires pour calculer la moyenne d’un élève dans
une matière.
4. Java.util.Enumeration
L’énumération permet d’accéder au différents éléments d’une collection (Vector ou
Hashtable par exemple).
Exercice 4 : soit les instructions suivantes :
For (Enumeration e= table.keys() ; e.hasMoreElements() ; ) {
String key = (String) e.nextElement() ;
……
}
Modifier les lignes précédentes pour calculer automatiquement la moyenne générale d’un
élève.
5. Lecture dans un fichier (java.io.File)
Les classes File et RandomAccessFile permettent de définir des fichiers.
Pour ouvrir un fichier en lecture :
RandomAccessFile file = new RandomAccessFile(toto,r) ;
La méthode readLine() lit une ligne entière dans un fichier et retourne une chaîne si elle s’est
déroulée correctement et null sinon.
StringTokenizer st = new StringTokenizer(s) transforme la chaîne s en une suite de mots.
-2-
TP3 JAVA
1A/AS 1998/99
Les méthodes hasMoreTokens() et nextToken() permettent d’accéder au différents mots de
st.
La classe StringTokenizer se trouve dans le package java.util.
Exercice 5 : Créer une classe Groupe composée d’un tableau d’Eleves.
Ecrire une méthode qui permet de lire la liste des noms et des prénoms stockés dans un fichier
et qui remplit le tableau au fur et à mesure.
-3-
Téléchargement