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

avec Java Discussion :

une méthode qui retourne une valeur


Sujet :

avec Java

  1. #1
    Membre du Club Avatar de soujava
    Inscrit en
    Mars 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Points : 46
    Points
    46
    Par défaut une méthode qui retourne une valeur
    slt
    voici une méthode qui permet de tester si un element s existe déja dans la liste list:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        public boolean testRep(ArrayList list, String s){
           Boolean b=false;
     
            for (Iterator i = list.iterator(); i.hasNext(); ) {
                if(i.next()==s){
                    b=true;
                   return (b);
                }
                return(b);
     
                            }
     
        }
    et voici le message d'erreur:
    Error(101,20): method does not return a value
    a votre avis ou est le problème
    L'ordinateur a l'intelligence de celui qui s'en sert !

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    On dirait que tu ne passes qu'une seule fois dans ton for. Je mettrais le second return hors du for, comme ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     public boolean testRep(ArrayList list, String s){
           Boolean b=false;
     
            for (Iterator i = list.iterator(); i.hasNext(); ) {
                if(i.next()==s){
                    b=true;
                   return b;
                }
     
     
                            }
                 return b;
        }

  3. #3
    Membre actif Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par soujava Voir le message
    slt
    voici une méthode qui permet de tester si un element s existe déja dans la liste list:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        public boolean testRep(ArrayList list, String s){
           Boolean b=false;
     
            for (Iterator i = list.iterator(); i.hasNext(); ) {
                if(i.next()==s){
                    b=true;
                   return (b);
                }
                return(b);
     
                            }
     
        }
    et voici le message d'erreur:
    Error(101,20): method does not return a value
    a votre avis ou est le problème
    Ta méthode doit renvoyer un "boolean" , or ton return renvoie b qui est déclaré en tant que "Boolean" et effectivement, sort le dernier return de la boucle for.
    Celui qui pose une question risque cinq minutes d'avoir l'air bête.
    Celui qui ne pose pas de question restera bête toute sa vie.(proverbe chinois)

  4. #4
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Tu fais un break pour sortir de ta boucle des que tu as trouvé ton élement et tu renvoit ton boolean.

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Utilise equals et non pas == pour comparer deux chaines.

  6. #6
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Pas besoin d'affecter la constante booléenne true ou false à une variable. Il vaut mieux la retourner directement.

  7. #7
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    en résumé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                    public boolean testRep(ArrayList list, String s){
     
    		        for (Iterator i = list.iterator(); i.hasNext(); ) {
    		            if(i.next().equals(s)){
    		               return (true);
    		            }
    		       }
    		        return(false);  
    		 }
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  8. #8
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Je rassemble tout ce qui a été dit pour que tu t'y retrouves mieux. Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     public boolean testRep(ArrayList list, String s){
     
            for (Iterator i = list.iterator(); i.hasNext(); ) {
                if(i.next().equals(s)){
                   return true;
                }
            }
            return false;
        }

    ou bien:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     public boolean testRep(ArrayList list, String s){
            Boolean b = false;
            for (Iterator i = list.iterator(); i.hasNext(); ) {
     
                if(i.next().equals(s)){
                   b = true;
                   break; //Pour sortir du for
                }
            }
            return b;
        }

  9. #9
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Je vais peut-être dire une ânerie mais...est-ce que ça ne reviendrait pas à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public boolean testRep(ArrayList list, String s){
        return list.contains(s);
    }
    et dans ce cas autant utiliser la méthode contains au lieu de testRep ???

    Vu toutes les réponses je me suis dit c'est pas possible j'ai du rater un truc, ça peut pas être aussi simple

Discussions similaires

  1. [C#] Méthode qui effecture une requete et retourne une liste
    Par Doutrick dans le forum Débuter
    Réponses: 2
    Dernier message: 24/12/2014, 20h56
  2. Méthode qui retourne une valeur aléatoire, soit 1, soit 2
    Par absot dans le forum Général Java
    Réponses: 11
    Dernier message: 15/10/2010, 09h31
  3. Réponses: 5
    Dernier message: 29/05/2008, 10h05
  4. Réponses: 7
    Dernier message: 19/03/2007, 19h24
  5. Une Form qui retourne une valeur?
    Par say dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/02/2006, 10h05

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