Je trouve une erreur au traitement d'une Arraylist !!!
Hanae1992
Messages postés
5
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Svp sa me donne une erreur dans l'execution et je ne comprends pas
C'est dans la Classe Graphe .
public ArrayList<Integer> path(int id_ss, int id_sd){
ArrayList<Integer> visit = null; ///// ====
ArrayList<Integer> chemins = null;
ArrayList<Integer> non_visit =new ArrayList<Integer>();
visit.add(id_ss); //on ajoute le sommet source à la liste des visités <---- Dans cette ligne
if (id_ss==id_sd) {
chemins.addAll(visit);
////si la source= la déstination ,on ajoute la liste des visités à la liste des chemins
}
ArrayList<Integer> voisin=this.neighbours(id_ss);//liste des voisins du sommet source
non_visit.addAll(voisin);
non_visit.removeAll(visit);
Iterator<Integer> it=non_visit.iterator();//parcours des sommets non visités
while(it.hasNext()){
ArrayList<Integer> v=new ArrayList<Integer>();
v.addAll(visit);
path((Integer)it.next(), id_sd);
}
return chemins;
}
Svp sa me donne une erreur dans l'execution et je ne comprends pas
C'est dans la Classe Graphe .
public ArrayList<Integer> path(int id_ss, int id_sd){
ArrayList<Integer> visit = null; ///// ====
ArrayList<Integer> chemins = null;
ArrayList<Integer> non_visit =new ArrayList<Integer>();
visit.add(id_ss); //on ajoute le sommet source à la liste des visités <---- Dans cette ligne
if (id_ss==id_sd) {
chemins.addAll(visit);
////si la source= la déstination ,on ajoute la liste des visités à la liste des chemins
}
ArrayList<Integer> voisin=this.neighbours(id_ss);//liste des voisins du sommet source
non_visit.addAll(voisin);
non_visit.removeAll(visit);
Iterator<Integer> it=non_visit.iterator();//parcours des sommets non visités
while(it.hasNext()){
ArrayList<Integer> v=new ArrayList<Integer>();
v.addAll(visit);
path((Integer)it.next(), id_sd);
}
return chemins;
}
A voir également:
- Je trouve une erreur au traitement d'une Arraylist !!!
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Ce logiciel gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
- Ou se trouve le presse papier - Guide
- Pourquoi ma tv ne trouve pas toutes les chaînes - Guide
1 réponse
L'erreur d'exécution c'est un NullPointerException ?
Il faut initialiser tes listes avant de les utiliser !
Il faut initialiser tes listes avant de les utiliser !
ArrayList<Integer> visit = new ArrayList<Integer>(); ArrayList<Integer> chemins = new ArrayList<Integer>();
Hanae1992
Messages postés
5
Statut
Membre
Ouii C'est Réglé ... Merci .. Mais j'ai un autre :$ dans le sens de la fonction si jamais id_ss est différente de id_sd la fonction ne retourne rien :s
KX
Messages postés
19031
Statut
Modérateur
3 020
Puisque tu n'ajoutes des données que dans ton if (id_ss==id_sd), du coup ta liste est vide, c'est donc normal que ça ne retourne aucun élément.