Bonjour tout le monde,

je suis en train d'ecrire une fonction qui permet de parcourir une map et une list et à chaque fois de comparer les deux contenus. de faire quelques calcul et ecrire dans un fichier.
j'ai essayé avec le code ci-desous mais , lors de l'écriture dans le fichier , la concaténation se répéte toujours avec l'ancienne valeur de plus le mot après le # toujours c'est le premier mot
Merci de m'aider à corriger s'il vous plaît.

Exemple :

Nom : op.PNG
Affichages : 857
Taille : 8,3 Ko

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
    public static void GenerationFicher(String fichier, int x, LinkedHashMap<String, Integer[]> m, PrintWriter pw) throws FileNotFoundException {
        ArrayList<String> motExtré = new ArrayList<>();
        Scanner sc = new Scanner(new File(fichier));
        String ss="";
        while (sc.hasNextLine()) {
 
            String line = sc.nextLine();
            String mot = sousChaine(line);
            motExtré = ExtraNgram(mot, x);
            //comparer le contenu de la liste et du map
            for (Map.Entry<String, Integer[]> e : m.entrySet()) {
                for (String me : motExtré) {
                    if (e.getKey().equals(me) == false) {
                        Integer[] tab = e.getValue(); // acceder au deuxième élement de Integer
                        int c = tab[1];
                        String compteur = Integer.toString(c);
                        String s = compteur + ":" + 0;
                        ss = ss.concat(s);
                    }
                    else {
                         Integer[] tab= e.getValue(); // acceder au deuxième élement de Integer
                         int c=tab[1];
                         String compteur= Integer.toString(c);
                         String s=compteur+":"+(nbrFqGram(mot, me)*chiffreGram(me)*positionGram(mot, me));
                         ss= ss.concat(s);
                             }
                        String ligneàEcrire = target(line) + " " + ss+"#"+mot; // concaténation de toute la ligne
                     // remplir le fichier par la suite des ligne
                     pw.println(ligneàEcrire);                   
                }
 
            }
 
            pw.close();
        }
     }