au fait j'ai implémenté les listes chainées en java mais le programme ne marche pas correctement,j'ai donc besoin de
l'aide de quelqu'un .voici le programme ci-dessous ,mon but est de saisir les éléments de la listes (entiers) ensuite les afficher
package liste;
import java.util.Scanner;
import javax.swing.*;
import java.io.*;
import java.util.*;
/**
*
* @author Madang
*/
public class liste_ch {
private int valeur;//contenu de la liste
private liste_ch svt;//reference sur l'element suivant
public liste_ch(int v,liste_ch s){
valeur=v;
svt=s;
}
public liste_ch(){}
public int tete( liste_ch l){
return l.valeur;
}
public int queue(liste_ch l){
liste_ch m=l;
while(l.svt!=null){
m.svt=l.svt;
}
return m.valeur;
}
public int getvaleur(){
return valeur;
}
public liste_ch getsvt(){
return svt;
}
public liste_ch liste_vide(){
liste_ch l=new liste_ch();
return l;
}
public static boolean rechercher(int a,liste_ch l){
if(l==null) return false;
while(l!=null) {
if(a==l.valeur) return true;
l=l.svt ;
}
return false;
}
public static liste_ch ajouter(int a,liste_ch l){
if(!rechercher(a,l))
new liste_ch(a,l);
return l;
}
public static liste_ch supprimer(int a ,liste_ch l){
liste_ch lis=l.svt;
if(l.valeur==a) return lis;
else while(lis!=null){ if(lis.valeur==a) {l.svt=lis.svt; return l;}
lis=lis.svt;
l=l.svt;
}
return l;
}
public static void afficher(liste_ch l){
int i=1;
while(l!=null) {
System.out.println("\n\t valeur "+i+":"+l.valeur);
i++;l=l.svt;
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
boolean hasnext=true;
String c,n="n",y;
int i;
liste_ch l=new liste_ch();
Scanner input=new Scanner(System.in);
System.out.println("\nsaisir les élements de votre liste !" );
while( hasnext==true){
i=input.nextInt();
ajouter(i,l);
System.out.println("\nun autre entier ? (y/n)" );
c=input.next();
if(c.compareToIgnoreCase(n)==0) hasnext=false;
}
afficher(l);
// TODO code application logic here
}
}
ensuite voici ce qu'il m'affiche quand je l'execute:
run:
saisir les élements de votre liste !
3
un autre entier ? (y/n)
n
valeur 1:0
BUILD SUCCESSFUL (total time: 35 seconds)