Bonjour,
J'ai trouvé une méthode qui permet de compter les occurrences de chaque mots d'un fichier.txt, j'ai testé le code ça fonctionne bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 import java.io.*; import java.util.*; class CompterMots { public static void main (String[] argv) throws IOException { Hashtable table = new Hashtable(); BufferedReader entree = new BufferedReader(new FileReader(argv[0])); String ligne; StringTokenizer st; String mot; int nbOcc; while ((ligne = entree.readLine()) != null) { st = new StringTokenizer(ligne, " ,.;:_-+*/\\.;\n\"'{}()=><\t!?"); while(st.hasMoreTokens()) { mot = st.nextToken(); if (table.containsKey(mot)) { nbOcc = ((Integer)table.get(mot)).intValue(); nbOcc++; } else nbOcc = 1; table.put(mot, new Integer(nbOcc)); } } Enumeration lesMots = table.keys(); while (lesMots.hasMoreElements()) { mot = (String)lesMots.nextElement(); nbOcc = ((Integer)table.get(mot)).intValue(); System.out.println("Le mot " + mot + " figure " + nbOcc + " fois"); } } }
Seulement j'aimerais adapter ce code pour en faire une méthode qui prend une String en paramètre d'entrée et non un fichier .txt
Et j'avoue que je suis un peu paumé. Je pensais la transformer en une méthode du genre
Comment je fais pour "lire" la String passé en paramètre ? Parceque les bufferreader ne lisent pas de String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 { public static void compterMot (String text) throws IOException { Hashtable table = new Hashtable(); BufferedReader entree = new BufferedReader(text); String ligne; StringTokenizer st; String mot; int nbOcc; while ((ligne = entree.readLine()) != null)7 // ...
Partager