Erreur Unreachable statement avec SringTokenizer

Résolu
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013 - 30 sept. 2010 à 14:42
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013 - 1 oct. 2010 à 14:02
Bonjour a tous

Je dois créer une méthode qui va retourner deux String extrait d'une chaine de caractères.

voici ce que j'ai fais.

public String AfficherNom()
{

String a = getnom();
StringTokenizer nom = new StringTokenizer(a, ",");
String b = nom.nextToken();
String c = nom.nextToken();

return b;
return c;

}


Quand je compile j'ai une erreur unreachable Statement !? est ce que quelqu'un pourrait m?aider S.V.P , merci d'avance

7 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
30 sept. 2010 à 15:37
Salut,

Hum hum,

à mon avis, tu mets la charrue avant les bœufs. Une méthode renvoit soit 1 objet / type primitif, soit rien du tout (void). La signature de ta méthode indique qu'elle renvoit 1 chaîne de caractères (String). À partir de la ligne return b;, ta méthode est terminée. D'où ton erreur sur la ligne return c; : "Unreachable statement : instruction non atteignable".

Si tu veux regroupée plusieurs chaînes de caractères, utilise un tableau ou une liste :

public String[] afficherNom() {

        String a = getnom();
        StringTokenizer nom = new StringTokenizer(a, ",");
        String b = nom.nextToken();
        String c = nom.nextToken();

        String[] nomPrenom = { b, c };

        return nomPrenom;

    }
    
    public List<String> afficherNomListe() {

        String a = getnom();
        StringTokenizer nom = new StringTokenizer(a, ",");
        String b = nom.nextToken();
        String c = nom.nextToken();

        List<String> nomPrenom = new ArrayList<String>(2);
        
        nomPrenom.add(b);
        nomPrenom.add(c);

        return nomPrenom;

    }


Quelques autres remarques en passant :
- essaie de commenter tes méthodes, même les plus simples, le minimum est le commentaire javadoc
- essaie de donner des noms parlants à tes variables (pas a, b, c...)
- essaie de respecter les conventions de nommage
3
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
30 sept. 2010 à 15:40
Désolé pour les fautes d'orthographe...
Si tu veux regroupER
des noms parlant
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
30 sept. 2010 à 15:41
des noms parlants...
0
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013
30 sept. 2010 à 17:36
Merci pout on aide ! C'est apprécier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013
30 sept. 2010 à 19:07
Quand je veux afficher le tableau j'ai le message

non-varargs call of varargs method with inexact argument type for last parameter

System.out.printf(" Le nom est : %s[0] et le prenom est: %s[1] \n", afficherNom());

J'ai surement mal formulé ma commande.....
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
1 oct. 2010 à 10:05
Étonnant, tu utilises quelle version de Java, quel IDE?
Les [0] et [1] sont inutiles.
Personnellement je n'utilise jamais printf, tu viens du monde C/C++ ?

Au passage, chez moi (Java 1.6 / 1.7 + Eclipse 3.5.2), ton code fonctionne.
0
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013
1 oct. 2010 à 14:02
Salut

J'utilise JDK 1.6, j'ai entendu que je devais redéfinir ToString !?
Est ce que ca te dit quelque chose ?
Pour l'instant j'ai initialisé un tableau à l'extérieur de la classe et ca fonctionne

String [] decompose = afficherNom();

Oui j'ai fais un peux de C a l'école mais je suis débutant.

Merci encore et bonne fin de semaine
0
Rejoignez-nous