Créer une matrice binaire
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
Citation:
mot1 mot2
mot1 mot3 mot4
mot2 mot4 mot1
mot4
mot5 mot2
D'un autre coté, j'ai un tableau contenant également un ensemble de mots.
Par exemple
Tableau:
Citation:
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:
Citation:
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
J'ai essayé de le faire mais je n'obtient aucun résultat.
Code:
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
|
int [][] 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();
} |
Je vous remercies à l'avance.