Examen de Juin 2004 page 5 QCM
page 5
II. Exercice 1 [5 points] (25 mn)
Ecrire les classes, l'interface et le programme principal permettant de créer N objets distribués.
N est un paramètre du programme principal. Le numéro de port de l'adaptateur est passé en paramètre.
Chaque objet distribué est enregistré dans l'adaptateur sous le nom "OBJET_" + n où n est un numéro unique de
1 à N.
L'objet distribué implémente la méthode distante int getNumero() qui retourne le numéro de l'objet distribué.
III. Exercice 2 [5 points] (25 mn)
Ecrire un programme qui crée et exécute un thread qui affiche à l'écran (println) les noms des objets distribués
qui sont enregistrés dans l'adaptateur de numéro de port passé en paramètre du programme.
Le thread affiche une nouvelle liste que si cette liste a changé dans le temps. Le thread s'arrête quand la liste est
vide. La méthode prédéfinie String[] l = Naming.list(url); retourne la liste des objets distribués enregistré dans
l'adaptateur à l'adresse URL (rmi://host:port) passé en paramètre.
IV. Exercice 3 [5 points] (25 mn)
Ecrire la classe Vecteur qui hérite de la classe prédéfinies Vector et qui contient la méthode void trier() et
l'attribut int ordre. Cet attribut peut avoir la valeur –1 ou +1. Il permet de savoir l'ordre de tri de la méthode
trier(). Si –1 alors trier par ordre décroissant, +1 par ordre croissant. La valeur de cet attribut est passé en
paramètre du constructeur.
Cette méthode permet de trier par ordre croissant ou décroissant les éléments du vecteur. Pour cela, vous devez
créer l'interface Comparable qui déclare la méthode int comparer(Comparable o); cette méthode retourne –1
si this < o, 0 si this = o, +1 si this > o.
V. Exercice 4 [5 points] (25 mn)
Soit la classe suivante :
public class Formulaire
{
public string[] motsclefs;
public string[] valeurs;
}
Ecrire la méthode Formulaire decoder(string formulaire); qui réalise le décodage d'un formulaire quelconque
provenant d'une requête http.
Exemple:
formulaire = "NOM=LAFONT&PRENOM=Pierre&AGE=&VILLE=Toulouse"
résultats du traitements:
motsclefs = ["NOM","PRENOM","AGE","VILLE"]
valeurs = ["LAFONT","Pierre","","Toulouse"]