IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[language] recursivite et recuperation de donnee


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Novembre 2004
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 234
    Par défaut [language] recursivite et recuperation de donnee
    bonjour jai un proble me au sujet d une recursivite
    voila jai une structure d arbre { string conceptname;ArrayList<Arbre> concept}
    mon probleme c ets que je veux rechercher dans larbre si un element est dedans voial 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
    public Arbre rechercheNoeud(String noeudname){
    		//if (this==null) return this;
    		System.out.println(conceptname);
    			if (compareName(noeudname)==0)
    			{
    				System.out.println("troukkver "+this.conceptname);
    				return this;
    			}
    			else{	
    		 Iterator<Arbre> iter=concept.iterator();
     
    		 while(iter.hasNext())
    		 {
    			 Arbre temp=iter.next();
    			 temp.rechercheNoeud(noeudname);
    			 }
    		}
    		return null;
    		}
    ca menvoit null tout le temps alors qu il trouve l'element bizarre

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Donc ça retourne null tout le temps

    Il manque quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while(iter.hasNext())
    {
        Arbre temp=iter.next().rechercheNoeud(noeudname);
        if( temp != null )
            return temp;
    }
    MAT.

  3. #3
    Membre très actif
    Inscrit en
    Novembre 2004
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 234
    Par défaut hum pas sur
    je ne pense pas que ca marche car si je fais ca il parcours qu un epartie de l'arbre je suis pas trop sur de cela et de plus je pense que ca return jamais null
    quand il trouve pas l'élément

  4. #4
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    C'est simple, si tu veux qu'il te retourne un Arbre, il faut faire

    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
    public Arbre rechercheNoeud(String noeudname){
    		//if (this==null) return this;
    		System.out.println(conceptname);
    			if (compareName(noeudname)==0)
    			{
    				System.out.println("troukkver "+this.conceptname);
    				return this;
    			}
    			else{	
    		 Iterator<Arbre> iter=concept.iterator();
     
    		 while(iter.hasNext())
    		 {
    			 Arbre temp=iter.next();
    			 temp.rechercheNoeud(noeudname);
    			 return temp;
    }
    		}
    		return null;
    		}
    Sinon il faut que tu fasses le if proposé juste avant.
    Sinon tu t'es mal exprimé. Mais en tout cas c'est normal qui te retourne toujours null, car tu renvoi toujours null!

  5. #5
    Membre très actif
    Inscrit en
    Novembre 2004
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 234
    Par défaut humhum
    je ne sais pas mais lorque que je fais return temp.rechercherarbre(nomcherche)
    il parcours qu'une seule branche de mon arbre et par consequent lorsque l'element se trouve dans lautre branche il ne le trouve pas.

  6. #6
    Membre très actif
    Inscrit en
    Novembre 2004
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 234
    Par défaut ca marche !!!
    merci
    mais comment ca se fait que ca marche pas lorsqu 'on fait return temp.recherchearbre() au lieu de temp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JTable] recuperer les donnees
    Par clemouf dans le forum Composants
    Réponses: 3
    Dernier message: 08/02/2019, 15h44
  2. recuperation des donnees snmp sur un autre poste en java
    Par maire106 dans le forum Développement
    Réponses: 4
    Dernier message: 17/04/2011, 13h17
  3. Réponses: 12
    Dernier message: 03/11/2005, 12h26
  4. Réponses: 1
    Dernier message: 19/03/2005, 22h47
  5. [KNOPPIX] Linux pour la récupération de données
    Par manunu dans le forum Autres
    Réponses: 8
    Dernier message: 06/05/2004, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo