Besoin d'aide liste chainee

Résolu
cs_leadersolo Messages postés 6 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 6 octobre 2010 - 6 nov. 2009 à 16:30
cs_leadersolo Messages postés 6 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 6 octobre 2010 - 6 nov. 2009 à 16:36
Bonjour à tous ... je traite un probleme concernant l'ajout et la suppression des employés dans un registre
le probleme est lorsque je veux supprimer un employé du registre ça marche pas soit l'IDE me renvoie une erreur soit il supprime un autre employé.. voici le code de la methode supprimer que j'ai défini dans la classe Registre et l"appel de la methode lors du switch dans la classe main

//Classe Registre
//Suppression avec retour de l'employe supprimé
public Employe supprimer(Cellule c){
Employe e=c.getEmp();
c.setSvt(c.getSvt().getSvt());
return e;
}
//Localiser un employe dans une liste à partir d'une certaine position
public Cellule localiser(Employe e,Cellule c){

Cellule p=c;
while(p.getSvt()!=null){
if(e.compare(p.getSvt().getEmp().getCode())==0)return p;
p=p.getSvt();
}
return null;
}
//Localiser un employe dans la liste en commençant par la tete
public Cellule localiser(Employe e){
return localiser(e,tete);
}
//Suppression de l'element localisé
public boolean supprimer(Employe e){
Cellule p= localiser(e);
if(p==null)return false;
supprimer(p);
return true;
}

// classe main le switch

case 3:
System.out.print("--Supprimer un employé par son code\n");

System.out.println("Entrez le code de l'employé à supprimer : \t"); String c=input.next();
Employe emp=new Employe();
boolean supr=false;

for(Cellule a=r.getTete().getSvt();a.getSvt()!=null;a=a.getSvt()){
if(a.getSvt().getEmp().compare(c)==0) {
emp=r.supprimer(a.getSvt()); supr=true;

break;
}

}
if(supr==true)
System.out.println("Employé supprimé :" + emp.toString());

else System.out.println("ce code ne convient à aucun employé");
break;


Merci de bien m'aider ça fait plusieurs jours que je n'arrive pas à trouver une solution

1 réponse

cs_leadersolo Messages postés 6 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 6 octobre 2010
6 nov. 2009 à 16:36
PS : r c'est un nouveau registre dèjà declaré Registre r=new Registre();

avec Registre constructeur defini dans la classe registre : Registre(){ tete=new Cellule();}
3
Rejoignez-nous