IPST-CNAM
Applications Distribuées cycle C
Lundi 19 Juin 2000
Avec document
Durée : 2 heures
Enseignant : Mr LAFORGUE
CORRECTIONS
EXERCICES
import java.lang.*;
import java.util.*;
// La classe contenant les méthodes de l'énoncé
//
public class VectorParcours extends Vector // hérite de Vecteur
{
// position courante utilisé dans le parcours
private int position;
// Initialisation du parcours
public void initParcours()
{
position=0;
}
// Le aprcours se positionne au premier élément et retourne
// le premier élement. Si la liste est vide retourne null
public Object first()
{
position=0;
if (size()==0) return(null);
else return(elementAt(0));
}
// Retourne le prochain élément, le parcours est incrémenté
// retourne null si pas de prochain élément
public Object next()
{
if(position>=size()) return(null);
else
{
position++;
Object e = elementAt(position);
return(e);
}
}
// Retourne le prochain élément différent
// retourne null si on arrive en fin de liste sans avoir trouvé
// d'élément différent
public Object nextDifferent()
{
if(position>=size()) return(null);
// On utilise l'interface pour accèder à la méthode générique
// qui détermine si les deux éléments sont différents
VectorParcoursImp o1 = (VectorParcoursImp)elementAt(position);
position++;
while (position<size())
{
VectorParcoursImp o2 = (VectorParcoursImp)elementAt(position);
if (o1.Different(o2))
{
return(elementAt(position));
}