Salut
Voila j'ai donc un probleme sur une boucle que je n'arrive pas a résoudre.
J'ai en fait 3 classes, Employe Cellule et Entreprise. Dans une cellule il y'a un employé et dans une entreprise il y a des cellules d'employés.
J'ai une methode augmente(string, int) qui augmente l'employé "nom" d'un montant donné en argument si celui ci est positif et si le nom existe. Pas de probleme.
Je dois ensuite la modifier pour faire en sorte que l'employé augmenté se trouve après ceux qui gagnent moins que lui, autrement dit je veux ranger les employers par ordre croissant de salaire. Le code :
Donc mon probleme c'est que l'employé change bien de place mais il me supprime les employés précédents au passage! je n'arrive pas a faire en sorte de les conserver tout en changer l'employé de place..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public boolean augmente(String nom, int montant) { boolean test = false; for(Cellule c = this.chef; c != null; c = c.suivante) { if(c.emp.getNom().equals(nom)) { if(montant > 0) { c.emp.setSalaire(c.emp.getSalaire() + montant); test = true; while(c.emp.getSalaire() > c.suivante.emp.getSalaire()) { c.suivante = c.suivante.suivante; } } } else test = false; } return test; }
je saispas si cest bien clair je suis un eu fatigué
merci.
Partager