Bonsoir à tous,
J'ai un fichier qui contient plusieurs lignes, chaque ligne contient un ensemble de mots clés, séparé par des espaces vides.
Par exemple
fichier1
D'un autre coté, j'ai un tableau contenant également un ensemble de mots.mot1 mot2
mot1 mot3 mot4
mot2 mot4 mot1
mot4
mot5 mot2
Par exemple
Tableau:mot1 mot2 mot3 mot4 mot5 mot6 mot7 mot8
Je voudrais comparer une matrice d'occurrence binaire. C'est à dire lire le fichier1 line par line, parcourir le tableau, si je trouve le mot je mets un 1 sinon je mets un 0.
Avoir un résultat comme suit:
J'ai essayé de le faire mais je n'obtient aucun résultat.1 1 0 0 0 0 0 0
1 0 1 1 0 0 0 0
0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1
Je vous remercies à l'avance.
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
32int [][] matriceBin= new int [5][8]; // 5 lignes du fichier1 et 8 mots dans le tableau String TabC [] = {"mot1", "mot2", "mot3", "mot4", "mot5" , "mot6" ,"mot7" , "mot8"}; int i,j,k; String mot = null; String filePath="fichier1.docx"; for (i=0; i<matriceBin.length; i++){ for (j=0; j<matriceBin.length;j++){ // lire le fichier1 ligne par ligne for (k=0;k<TabC.length;k++){ try{ BufferedReader buff; buff = new BufferedReader(new FileReader(filePath)); try { String line=buff.readLine(); while (line != null) { if (mot.matches(TabC[k]) ) { System.out.println(matriceBin[i][j]=1 ); } else { System.out.println (matriceBin[i][j]=0);} line=buff.readLine(); } } finally { // dans tous les cas, on ferme nos flux buff.close(); }






Répondre avec citation
Partager