listes chainées - Java - Programmation
Marsh Posté le 07-04-2008 à 18:59:15
Bonjour,
1. Commencer un billet par "au fait" en minuscule est une tournure inadaptée.
2. Majuscules en début de phrase.
3. Balise "code" pour le code.
4. Le programme affiche-t-il vraiment "BUILD SUCCESSFUL" lors de l'exécution?
5. Le programme demande un entier, tu entres "3", puis tu réponds "n" à la question "un autre entier?" et le programme s'arrête. Cela semble parfaitement cohérent.
6. "le programme ne marche pas correctement" Plus exactement? Problème de saisie? Résultat attendu versus résultat observé?
Marsh Posté le 08-04-2008 à 04:49:26
Bonjour Sircam
1.Merci pour ta remarque concernant la tournure inadaptée,je m'en excuse.
2...........
3.Je n'ai pas compris ton point 3.
4.J'ai copier et coller le résultat affiché donc il affiche effectivement "BUILD SUCCESSFUL".
5.Oui cela semble,mais normalement m'afficher le 3 que j'ai entré et non "valeur 1:0 "
6.Je essayer de revoir la saisie.
Marsh Posté le 07-04-2008 à 15:59:40
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)