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 :

Problemes avec StringTokenizer


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut Problemes avec StringTokenizer
    Bonjour,

    j'ai une chaine de caractère qui ressemble a ca :
    34784-324-2-331;34784-324-1-331;34784-324-3-331;34710-324-1-331
    J'aimerais dans un premier temps prelever chaque sous-chaines séparés par le point virgule.
    J'ai donc ecrit ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String listEntries = "34784-324-2-331;34784-324-1-331;34784-324-3-331;34710-324-1-331";
    StringTokenizer st = new StringTokenizer(listEntries,";",false);
    	System.out.println("nb de tokens : " + st.countTokens());
    	while (st.hasMoreTokens()){
    		System.out.println(st.nextToken());
     
    	}
    Et en fait, à l'éxécution, il m'affiche dans la console 1 comme nombre de tokens et ne passe meme pas dans le while, comme si il se placait deja sur le dernier token ....

    Merci d'avance pour votre aide !!

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Salut,

    J'ai testé chez moi ça marche.

    Tu utilises quelle version de Java ?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Ben c'est fou ca ... Pas moyen de le faire marcher chez moi ....

    Je suis sous Tomcat 5 qui tourne sur une jdk 1.4.2.08 ... Pas si vieux que ca quand meme ...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Copié-collé, chez moi aussi ça marche nickel. Un bug dans ta version de Java ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Ben euh ... Ouais, c'est ce que je suis en train de me dire ....

    M'enfin, c'est bizarre quand meme ....

  6. #6
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Je crois de souvenir d'avoir eu des problémes en utilisantle troisième paramètre du constructeur.

    Essaie ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringTokenizer st = new StringTokenizer(listEntries,";");

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    C'est vraiment bizarre ....

    La je viens d'essayer un bout de code trouver sur le net, on ne peut plus basiqyue ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    StringTokenizer st = new StringTokenizer("this is a test");
    	System.out.println("nb de tokens : " + st.countTokens());
    	while (st.hasMoreTokens()) {
    	 System.out.println(st.nextToken());
    	}
    Et bien ca a marché une fois, et depuis, le countToken affiche 1 et ca ne passe toujours pas dans le while ...

    Du coup, ta proposition de supprimer le 3e parametre du constructeur ne changera rien car meme qu'il n'y a qu'un seul parametre, ca marche pas non plus ...

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Bon alors ca devient surréaliste la ...

    A force de tests, et de tests, je viens d'en conclure que quel que soit le code que je compile (mon code d'origine ou le code que j'ai récupéré sur le net), ca ne fonctionne que quand je ne passe pas par le mode débuggage. Des que je mets un point d'arret pour tracer mon code, ca en marche plus ....

    Si quelqu'un peut m'expliquer le pourquoi du comment, je lui paie une bolée de cidre dès qu'il passe par Rennes !!!

  9. #9
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Tu peux faire le code complet de ta classe ? Stp

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Tu veux que je publie le code complet de ma classe, c'est ca ?

    Si c'est ca, le probleme, c'est qu'il fait 1000 lignes ...

  11. #11
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    La question que je me pose: tu as pas un attribut de classe (static par exmple) qui s'appelle st de type StringTokenizer ou quelquechose comme ça ?

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Non, par contre .... En fait, une fois que je sépare le contenu entre les points virgules, je sépare aussi chaque contenu entre les tirets. Donc j'appelle ma méthode separePointVirgule() dans laquelle j'appelle la méthode separeTiret.

    Sachant que dans les deux méthodes, le StringTokenizer s'appelle "st" ... Penses tu qu'il puisse y avoir confusion lors du pas à pas qui n'existerait pas lors de l'exécution normale ?

  13. #13
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Non je ne pense pas. Une autre question: est-ce qu'en mode normal (non pas à pas), ça fonctionner correctement ?

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Sans aucun probleme ... C'est bien ca que je trouve bizarre ....

    En fait, des que je fais du pas a pas, st.countToken pete les plombs et me renvoit soit 0 soit 1, alors qu'il est censé me renvoyer 4 ou 5.
    En mode normal, il me renvoit les bonnes valeurs.

  15. #15
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Ben alors laisse tomber, c'est le débugger qui foire et pas ton code. Ca n'est arrivé des fois... mais je pense pas qu'il y ai quelquechose à faire.

    Tu bosses sur Eclipse ?

  16. #16
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Par défaut
    Ouais Eclipse 3.1, je peux passer à une version supérieure ....

    En tout cas, c'est la conclusion que j'avais tiré aussi .... Ce qui est dommage dans l'histoire, c'est le temps que j'ai perdu avec ca, mais bon ...

    Enfin merci pour ton aide !!!!

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

Discussions similaires

  1. probleme avec StringTokenizer
    Par ungasquipasse dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 24/12/2009, 15h22
  2. Probleme avec StringTokenizer
    Par LP-mpascolo dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2008, 09h24
  3. Probleme avec FileInputStream et StringTokenizer
    Par LinuxUser dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 31/12/2007, 00h29
  4. [StringTokenizer] [delimiteur]Probleme avec le delimiteur!
    Par fabszn dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 27/05/2006, 17h49
  5. [stringtokenizer] probleme avec champs vides
    Par gege2mars dans le forum Langage
    Réponses: 9
    Dernier message: 30/06/2004, 08h25

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