ziliass
Messages postés7Date d'inscriptionmercredi 10 février 2010StatutMembreDernière intervention 3 mars 2010
-
21 févr. 2010 à 04:25
Ickik
Messages postés193Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 2010
-
26 févr. 2010 à 00:22
Bonjour,
Merci de m'expliquer ce code.
public void rechercher(String nom, String pren){
boolean trouvé = false; //on considère que les éléments recherchés ne sont pas encore trouvé au début.
Eleve e = new Eleve();
Iterator it = liste.iterator();
while(it.hasNext() && !trouvé) {
e = (Eleve)it.next();
if(e.getNom().equals(nom) && e.getPren().equals(pren))
t rouvé = true;
}
if(trouvé) e.afficher();
else System.out.println("Cet élève ne figure pas dans la liste !");
}
Ickik
Messages postés193Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 20102 26 févr. 2010 à 00:22
Hello,
voici une version simplifiée de ton code avec commentaires :
public void rechercher(String nom, String pren){ //faire passer un Eleve est plus objet
boolean trouvé = false; //on considère que les éléments recherchés ne sont pas encore trouvé au début.
Eleve e = new Eleve(); //ne sert a rien car tu instancies un objet pour rien
Iterator<Eleve> it = liste.iterator(); //recupère l'iterateur de la liste; cela permet de parcourir la List en testant l'existence d'un élément suivant
while(it.hasNext()) { //teste l'existence d'un élément suivant; on vérifie qu'on est pas à la fin de la List
e = (Eleve)it.next(); //récupère l'élément courant et avance dans la liste
if(e.getNom().equals(nom) && e.getPren().equals(pren)) //Pas bon il faut redéfinir equals et hashcode plutot de d'utiliser les paramètres
trouvé = true;
}
if(trouvé) e.afficher();
else System.out.println("Cet élève ne figure pas dans la liste !");
}
Un version corrigée donnerai :
public void rechercher(Eleve eleve){
Iterator<Eleve> it = liste.iterator();
while(it.hasNext()) {
Eleve e = (Eleve)it.next();
if(e.equals(eleve)) {
e.afficher();
return;
}
}
System.out.println("Cet élève ne figure pas dans la liste !");
}