From 437984e373831a86f42d66385270939a9d72f29b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 5 Apr 2018 15:20:26 +0200 Subject: [PATCH] exo5: Add the code that permit to build a word counter. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- exo5/Main.java | 26 +++++++++++++++++++++++++- exo5/test_file.txt | 23 +++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 exo5/test_file.txt diff --git a/exo5/Main.java b/exo5/Main.java index 4075cbc..953bdfe 100644 --- a/exo5/Main.java +++ b/exo5/Main.java @@ -1,3 +1,7 @@ +import java.io.File; +import java.util.Scanner; +import java.io.IOException; +import java.util.TreeMap; class Main { @@ -6,6 +10,26 @@ class Main { * @param String[] args main() function arguments array */ public static void main(String[] args) { - + TreeMap tm = new TreeMap(); + File f = new File("test_file.txt"); + try { + Scanner sc = new Scanner(f); + while (sc.hasNext()) { + String wordCursor = sc.next(); + //NOTE: words comparaison is case sensitive and punctuation aware + Integer count = tm.get(wordCursor); + if (count == null) { + count = 0; + } + tm.put(wordCursor, count + 1); + } + sc.close(); + } + catch (IOException e) { + e.printStackTrace(); + } + for (String wordCursor : tm.keySet()) { + System.out.println("Word \"" + wordCursor + "\" occured " + tm.get(wordCursor) + " times"); + } } } diff --git a/exo5/test_file.txt b/exo5/test_file.txt new file mode 100644 index 0000000..15cb50c --- /dev/null +++ b/exo5/test_file.txt @@ -0,0 +1,23 @@ +Je suis très émue de vous dire que j'ai +bien compris l'autre soir que vous aviez +toujours une envie folle de me faire +danser. Je garde le souvenir de votre +baiser et je voudrais bien que ce soit +là une preuve que je puisse être aimée +par vous. Je suis prête à vous montrer mon +affection toute désintéressée et sans cal- +cul, et si vous voulez me voir aussi +vous dévoiler sans artifice mon âme +toute nue, venez me faire une visite. +Nous causerons en amis, franchement. +Je vous prouverai que je suis la femme +sincère, capable de vous offrir l'affection +la plus profonde comme la plus étroite +en amitié, en un mot la meilleure preuve +dont vous puissiez rêver, puisque votre +âme est libre. Pensez que la solitude où j'ha- +bite est bien longue, bien dure et souvent +difficile. Ainsi en y songeant j'ai l'âme +grosse. Accourrez donc vite et venez me la +faire oublier par l'amour où je veux me +mettre. -- 2.34.1