Bonjour tout le monde,
ma methode s'execute parfaitement mais se bloque sur l'instruction de récursivité!!
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
public static ArrayList getPrefixPath(Node n, int idNoeud)
 {
	 String nNoeud = n.getNodeName();
	 listNodeType.add(nNoeud);
 
	   	 for (int h=0; h<idNoeud; h++)
	   	 {
	    	          Node element= nl.item(h);
		          NodeList enfants = element.getChildNodes();
		          int cpt = enfants.getLength();
		      for (int k=0; k<cpt; k++)
		      {
		    	  Node fils = enfants.item(k);
		   		  String fi = fils.getNodeName();
		     		if (fi.equals(nNoeud))
			          {
                                                    idpere.add(h);
			          }
		     	  break;
		      }	  
		  }	   	
                          int Noeuper = Parcours.getMin(idpere, idNoeud);
	             // la methode precedente me donne le resultat correct
	   	 Node pere= nl.item(Noeuper);
	   	 if (Noeuper != 0) 
	    	 {
	   	     getPrefixPath(pere, Noeuper);
	              }
	   	 else 
	   		 {
	   		   String per = pere.getNodeName();
	   		   listNodeType.add(per); 
	   		    }
             return listNodeType;	   	
   }
et j'ai meme essayé ce ci:
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
 
 if (Noeuper != 0) 
	    	 {
	   	     listNode= getPrefixPath(pere, Noeuper);
	   	     int taille = listNode.size();
	   	     for (int gh=0; gh<taille; gh++)
	   	      {
	   	    	String tarf= (String) listNode.get(gh); 
	   	    	listNodeType.add(tarf);
	   	      }
	   	     return listNodeType;
	   	     }
	   	 else 
	   		 {
	   		   String per = pere.getNodeName();
	   		   listNodeType.add(per); 
	   		   return listNodeType;
	   		 }
mais ca ne fontionne pas toujours erreur au niveau de l'appel de la methode!!!
merci d'avance pour votre temps precieux.