Problème sur une acquisition
Bonjour ~ :D
J'ai un probleme sur une méthode. J'ai une entreprise à laquelle je dois ajouter une autre entreprise (acquisition :mrgreen:) qui range ensuite les éléments de cette nouvelle entreprise dans l'ordre croissant de salaires, et ensuite par ordre alphabétique.
J'utilise pour ca des listes chainées sans utiliser les linkedlist mais rien à faire! je n'arrive pas a ajouter les éléments à la premiere entreprise..
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| class Entreprise {
Cellule petitSalaire;
Cellule petitNom;
public Entreprise() {
this.petitSalaire = null;
this.petitNom = null;
}
public Entreprise(Employe e) {
this.petitSalaire = new Cellule(e);
this.petitNom = new Cellule(e);
}
public void ajout(Employe empi) {
Cellule c1 = new Cellule(empi);
if(this.petitSalaire != null) {
if(this.petitSalaire.emp.getSalaire() > c1.emp.getSalaire()) {
c1.suivanteSalaire = this.petitSalaire;
this.petitSalaire = c1;
}
Cellule c;
for(c = this.petitSalaire; c != null; c = c.suivanteSalaire) {
if(c.emp.getSalaire() < c1.emp.getSalaire() && c.suivanteSalaire == null) {
c.suivanteSalaire = c1;
}
if(c.emp.getSalaire() < c1.emp.getSalaire() && c.suivanteSalaire.emp.getSalaire() > c1.emp.getSalaire()) {
c1.suivanteSalaire = c.suivanteSalaire;
c.suivanteSalaire = c1;
}
}
}
else this.petitSalaire = c1;
}
public void ajoutNomSalaire(Employe empi) {
Cellule a = this.petitNom;
Cellule c = new Cellule(empi);
this.ajout(c.emp);
if(this.petitNom == null) {
this.petitNom = c;
}
else {
while(a != null) {
if(a.suivanteNom == null) {
a.suivanteNom = c;
break;
}
if(c.emp.getNom().compareTo(a.emp.getNom()) > 0 && c.emp.getNom().compareTo(a.suivanteNom.emp.getNom()) < 0) {
c.suivanteNom = a.suivanteNom;
a.suivanteNom = c;
break;
}
a = a.suivanteNom;
}
}
}
public void acquisition(Entreprise e) {
for(Cellule c = e.petitSalaire; c != null; c = c.suivanteSalaire) {
this.ajoutNomSalaire(e.petitSalaire.emp);
}
} |
classe cellule
Code:
1 2 3 4 5 6 7 8 9 10 11
| class Cellule {
Employe emp;
Cellule suivanteNom;
Cellule suivanteSalaire;
public Cellule(Employe e) {
this.emp = e;
this.suivanteNom = null;
this.suivanteSalaire = null;
}
} |
j'ai simplement mis les méthodes liées au probleme (sachant que toutes les autres fonctionnent a part ce fichu acquisition).
Voila merci de votre eventuelle aide :mrgreen: