Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3338 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  StringTokenizer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

StringTokenizer

n°1816410
DjeXtoR
Posté le 25-11-2008 à 14:55:05  profilanswer
 

Salut tout le monde,
 
 
Je vous explique le contexte de mon programme : je dois utiliser un fichier .txt pour en tirer les mots et leur appliquer une fonction ajouterMot (String).
 
Au niveau de la lecture du fichier je n'ai pas de problème.  
J'ai ensuite utilisé la fonction StringTokenizer pour "découper les lignes lues".  
Le problème est que StringTokenizer n'est pas un vrai String et je ne peux pas utiliser ma fonction ajouterMot...
 
J'ai testé la fonction split mais celle ci rend un tableau de String...
Merci d'avance de votre aide
 
DjeXtoR

mood
Publicité
Posté le 25-11-2008 à 14:55:05  profilanswer
 

n°1816420
brisssou
8-/
Posté le 25-11-2008 à 15:05:49  profilanswer
 

t'as pas une fonction nextElement sur ton Tokenizer ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1816423
cimourdain
Posté le 25-11-2008 à 15:08:31  profilanswer
 

j'ai lu une fois dans la doc, je crois, que StringTokenizer est deprecated et qu'il faut désormais utiliser la méthode split de la classe String.

n°1816426
DjeXtoR
Posté le 25-11-2008 à 15:10:12  profilanswer
 

Si j'ai une fonction nextElement. voici le bout de code :
 
StringTokenizer tok = new StringTokenizer (ligne,"" );     while (tok.hasMoreTokens()) {
     dico.ajouterMot(nextToken(tok),dico.racine);
     }
Probleme c'est que Java me donne l'erreur suivante : The method nextToken(StringTokenizer) is undefined for the type Main
 
Concernant split, ça renvoit un tableau de string :(
 
Merci de vos réponses en tout cas :)


Message édité par DjeXtoR le 25-11-2008 à 17:05:46
n°1816433
brisssou
8-/
Posté le 25-11-2008 à 15:13:33  profilanswer
 

et tok.nextToken() ??


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1816548
Bidem
Posté le 25-11-2008 à 17:30:41  profilanswer
 

Citation :

new StringTokenizer (ligne,"" );


et c'est quoi ton/tes délimiteurs ? parce que là tu n'en fournis aucun donc j'imagine que tu vas te retrouver avec un seul token par ligne...

 
Citation :

dico.ajouterMot(nextToken(tok),dico.racine);


...
http://java.sun.com/javase/6/docs/ [...] nizer.html


Message édité par Bidem le 25-11-2008 à 17:31:06
n°1816578
DjeXtoR
Posté le 25-11-2008 à 17:55:16  profilanswer
 

Citation :

new StringTokenizer (ligne,"" );


et c'est quoi ton/tes délimiteurs ? parce que là tu n'en fournis aucun donc j'imagine que tu vas te retrouver avec un seul token par ligne...
 
 
Les délimiteurs sont uniquement les "espaces" donc je pense qu'il faut mettre :  
 
StringTokenizer tok = new StringTokenizer (ligne," " );
 

Citation :

dico.ajouterMot(nextToken(tok),dico.racine);


 
Concernant cela, c'était plus par désespoir :). Le gros et unique problème est de transformer les StringTokenizer en String normal que je pourrais utiliser dans ma fonction.  
 
 
Pour info, le projet consiste à créer un vérificateur d'orthographe sous la base des arbres de type "trie".
 

n°1816608
brisssou
8-/
Posté le 25-11-2008 à 18:50:36  profilanswer
 

DjeXtoR a écrit :

Citation :

new StringTokenizer (ligne,"" );


et c'est quoi ton/tes délimiteurs ? parce que là tu n'en fournis aucun donc j'imagine que tu vas te retrouver avec un seul token par ligne...
 
 
Les délimiteurs sont uniquement les "espaces" donc je pense qu'il faut mettre :  
 
StringTokenizer tok = new StringTokenizer (ligne," " );
 

Citation :

dico.ajouterMot(nextToken(tok),dico.racine);


 
Concernant cela, c'était plus par désespoir :). Le gros et unique problème est de transformer les StringTokenizer en String normal que je pourrais utiliser dans ma fonction.  
 
 
Pour info, le projet consiste à créer un vérificateur d'orthographe sous la base des arbres de type "trie".
 


 
faut faire trois choses alors : lire les réponses qu'on te donne, lire la doc, la comprendre.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1816807
Bidem
Posté le 26-11-2008 à 00:33:42  profilanswer
 

Ta boucle est bonne, il suffit juste de bien utiliser le tokenizer pour récupérer les mots d'une ligne

 
Citation :

StringTokenizer tok = new StringTokenizer (ligne," " );
while (tok.hasMoreTokens()) {
     dico.ajouterMot(tok.nextToken(), dico.racine);
}



Message édité par Bidem le 26-11-2008 à 00:35:46
n°1816810
Bidem
Posté le 26-11-2008 à 00:42:38  profilanswer
 

Sinon, concernant la remarque comme quoi StringTokenizer est deprecated (il y a une note à ce propos dans la doc), pour ma part je continue à utiliser StringTokenizer dans les cas simples.
 
C'est vrai que le split est puissant grâce aux expressions régulières mais la plupart du temps, ça revient à utiliser un bazooka pour tuer un moustique ;)

mood
Publicité
Posté le 26-11-2008 à 00:42:38  profilanswer
 

n°1816823
brisssou
8-/
Posté le 26-11-2008 à 08:26:06  profilanswer
 

hum... j'ai comme l'impression que je suis passé connard prétentieux level 5... faut que je me surveille.
 
désolé DjeXtoR.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  StringTokenizer

 

Sujets relatifs
Separateur StringTokenizer d'autres methodes ?[Résolu][StringTokenizer - Urgent] Comment ça marche ?
StringTokenizer en C++ ???[Help] StringTokenizer
String.EqualsIgnoreCase + StringTokenizerStringTokenizer, ou est le problem ? :/
StringTokenizer et espaceStringTokenizer
Plus de sujets relatifs à : StringTokenizer


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)