Département de mathématiques
Licence MASS 1998
TD-TP
Université de Nice Sophia Antipolis
Exam
Problème1
Dans ce TD nous allons nous attacher a utiliser la collection
Vector et définir, en plus des méthodes de l'API de cette
classe de nouvelles méthodes.
Dans une classe sans champs ni constructeur definir:
1) Une méthode qui affiche le contenu d'un vector passé en argument.
2) Une méthode qui prend un vector en argument et qui retourne un vector
avec les éléments dans l'ordre inverse.
3) Une méthode qui prend deux vectors et qui retourne un vector
concaténation de ces deux vectors.
Ces méthodes devront etre testées en les utilisant dans un petit
programme.
Celui-ci consiste a construire deux vectors de Livres vecLivre1 et
vecLivre2, de les afficher, de les afficher apres permutation,
d'afficher le vecteur obtenu par concaétnation des vectors vecLivre1
et vecLivre2.
Remarque Ne pas oublier de définir la methode public
String toString()
dans la classe Livre si ce n'est deja fait.
4) Définir une méthode qui affiche le titre des éléments d'un
vector qui sont de la classe Livre. Pour cela il faut s'assurer que
l'élément est de la classe Livre en utilisant l'instruction instanceof
tel que
obj instanceof Livre
retourne vrai si l'objet obj est une instance
de la classe Livre.
Si l'on s'est assure que obj est de la classe Livre, on ne peut lui
appliquer la methode titre() qu'apres un cast :
((Livre)obj).titre()
Appliquer cette methode sur un vecteur de livres.
Problème 2
- Utilisation des inner classes -
Dans ce probleme nous nous proposons de creer notre classe de vecteurs
appeles MyVector qui aura un vecteur de la classe Vector comme champ.
Nous definirons :
- un constructeur
- une methode add(Object obj)
Mais nous dèfinissons aussi
- une inner classe private EnumerationVector
qui implemente l'interface MyEnumeration tel que
interface MyEnumeration{
boolean hasMoreElements();
Object nextElement();
}
- une methode de MyVector
MyEnumeration getElements( ){return new EnumerationVector; }
Cette classe sera testee a partir de la classe test suivante :
public class Test{
public static void main(String args[]){
MyVector mv = new MyVector();
mv.add("aaa);
mv.add("bbb");
for(MyEnumeration myenum = mv.getElements();
myenum.hasMoreElements();)
System.out.println(myenum.nextElement());
}
}
import java.util.*;
class OpVect {
static Vector permutte(Vector v){
Object temp;
for(int i=0; iMichel Bourdelles
Last modified: Tue Mar 24 14:39:19 MET