Lecture de l'entrée clavier mot par mot [Résolu]

-
Bonjour,

Comment on peut lire des string a partir de l'écran mot par mot en java ?

Merci
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
15998
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 juin 2019
84
2
Merci
Pourquoi utiliser StringTokenizer ? Cette classe ne devrait plus être utilisé, c'est marqué dans la documentation.

StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.

Donc soit on utilise split comme proposé :

String[] tab = str.split(" ");
for (String s : tab)
   System.out.println(s);

Soit on customise un peu le Scanner que tu as déjà mis en place.

Scanner sc = new Scanner(System.in);
sc.useDelimiter(" ");
System.out.println("Entrez votre texte");
while (sc.hasNext())
    System.out.println(sc.next());

Dans les deux cas on utilise une expressions régulière, qui est certes ici très simple puisque ce n'est que
" "
.

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de KX
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
227
0
Merci
Salut,

Scanner sc = new Scanner(System.in);
System.out.println("Entrez votre texte");
String str = sc.nextLine();
StringTokenizer st = new StringTokenizer(str);
while(st.hasMoreToken()){
   System.out.println(st.nextToken());
}
cs_Julien39
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
227 -
Tiens, je ne savais pas !
Je pensais que StringTokenizer était à préférer à split lorsque l'expression régulière était simple.
Merci pour l'info
Commenter la réponse de cs_Julien39
Messages postés
6449
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
227
0
Merci
Salut,

J'ai édité le titre et le message qui n'étaient pas très clairs, fais attention la prochaine fois.
Commenter la réponse de cs_Julien39