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

Collection et Stream Java Discussion :

Stack, méthode search


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 18
    Par défaut Stack, méthode search
    Bonjour,

    J'utilise la classe Stack pour une Pile. Après différentes recherches j'ai trouvé les méthodes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    boolean empty(); //true si la pile est vide
    Object peek(); //renvoie le dernier element de la pile sans le retirer
    Object pop(); //renvoie et retire le premier element de la pile
    int search(Object o);// renvoie la première position de l'objet argument de la pile
    J'ai bien utilisé les 3 premières, ça fonctionne, mais quand je veux utiliser la denière j'ai une erreur de compilation. Mon but ici est d'avoir le nombre d'éléments dans ma pile. j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbElement = search(stk.peek());
    stk étant un stack déclaré.
    Savez vous pourquoi ça ne fonctionne pas ?

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Citation Envoyé par Pillgrim
    j'ai une erreur de compilation.
    Donner plus de détails sur l'erreur (son type, le message, etc.) ne ferait de mal à personne, ça ne fera que nous aider à t'aider

    Sinon, quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbElement = search(stk.peek());
    Ce ne serait pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbElement = stk.search(stk.peek());
    ?

    Bonne chance.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 18
    Par défaut
    Comment tu fais pour mettre le code en "relief" ?

    j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbElement = stk.search(stk.peek());
    et ça me renvoie : unreachable statement.

    et l'erreur de compilation quand j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int position = search(stk.peek());
    c'est cannot find symbol - method search(java.lang.object)

    Mon but est récupérer le nombre d'éléments empilés dans une pile de type Stack.

    Merci

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Pour rendre les extraits de code plus lisibles (pas juste pour la beauté de la chose) et en simplifier la lecture, nous mettons à la disposition de nos memebre les balises [code]un extrait de code[/code].
    Cette consigne, ainsi que d'autrers sont disponibles dans les règles des forums de développez.com Règles.

    j'ai essayé ça :
    int nbElement = stk.search(stk.peek());
    et ça me renvoie : unreachable statement.
    Cette erreur là veut dire que l'exécution de ton programme n'atteindra jamais cette instruction, à cause d'un return par exemple.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String x;
    return;
    x="Aye ! Erreur : Unreachable statement";
    Là, le compilateur te génère une erreur à la ligne 3 (x="...") car cette partie du code ne sera jamais atteinte.

    La seconde erreur :
    et l'erreur de compilation quand j'écris :
    int position = search(stk.peek());
    c'est cannot find symbol - method search(java.lang.object)
    la méthode search est introuvable dans la classe actuelle, ce qui est normal vu qu'elle réside plutôt dans la classe Stack ... Tu devrais faire comme indiqué dans mon post précédent.

    Bonne chance.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 18
    Par défaut
    Tu as raison, l'écriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nbElement = stk.search(stk.peek());
    est bonne et j'avais par mégarde laissé traiter un return avant.

    Et en réflechissant c'est logique d'écrire comme ça sinon il ne sait pas sur quoi il fait le search.

    Merci beaucoup !

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

Discussions similaires

  1. La méthode SEARCH a échoué
    Par clem200 dans le forum Général VBA
    Réponses: 2
    Dernier message: 25/04/2014, 09h01
  2. Utilisation de l'API Twitter: méthode search
    Par mintoo dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/03/2010, 16h39
  3. java 1.3 recuperer méthode appelante depuis stack
    Par jadey dans le forum Général Java
    Réponses: 1
    Dernier message: 13/04/2009, 20h19
  4. méthodes classe Stack
    Par Nayila dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 15/11/2007, 15h14
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 08h22

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