Bonjour,

Je suis en train d'élaborer une liste chainée en Java et j'ai un problème quand je veux afficher le contenu de la liste, par exemple 2 éléments, avec deux informations (El1-INF1) et (El2-INF2).
Ca m'affiche deux éléments mais avec l'information du dernier comme suit : (El1-INF2) et (El2-INF2).

Je ne sais pas où est le problème.

Voici mon code :
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
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
import java.util.Scanner;
 
public class Enseignant {
public static String NomEn;
public static String PrenomEn;
public static String idEnseign;
public Enseignant Next;
 
    Enseignant(String Nom,String Prenom ,String idEn,Enseignant Enlist){
        this.idEnseign = idEn;
        this.NomEn = Nom;
        this.PrenomEn = Prenom;
        this.Next = Enlist;
    }
    public Enseignant AddEns(String Nom,String Prenom ,String idEn,Enseignant Enlist){
        return new Enseignant(NomEn, PrenomEn,idEnseign,Enlist);
    }
 
    public static void main(String[] args) {
    String Nom;
        String Prenom;
        String idEnsei;
        Scanner SC = new Scanner(System.in);
        Enseignant En = null;
        String rep = " ";
        do{
            System.out.print("Name : ");Nom = SC.next();
            System.out.print("Prenom : ");Prenom = SC.next();
            System.out.print("IdEns : ");idEnsei = SC.next();
            En = new Enseignant(Nom,Prenom ,Niveau ,idEnsei , En);
            En.AddEns(Nom, Prenom, idEnsei, En);
            rep = SC.next();
            System.out.println("rep "+rep);
        }while(rep.compareTo("n")==1);
 
        System.out.println("liste des Enseignants:\n");
        //Enseignant EN = En;
        while (En != null){
            System.out.print("Id : "+En.idEnseign+"\nNom : "+En.NomEn+"\nPrénom : "+En.PrenomEn\n");
            En = En.Next;
        }
    }
}
Merci d'avance pour votre aide.