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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Test {
// Séparateur entre deux mots successifs
public static final String SPACE_SEPARATOR = " ";
// Lit un fichier et remplit un matrice de mots
public static String[][] readFile(String filename) {
if (filename == null) {
throw new NullPointerException();
}
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(filename));
List<String[]> list = new ArrayList<String[]>();
String line = null;
while ((line = br.readLine()) != null) {
list.add(line.split(SPACE_SEPARATOR));
}
br.close();
String[][] matrix = new String
[list.size()][];
for (int i = 0; i < list.size(); ++i) {
matrix[i] = list.get(i);
}
return matrix;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
// Affiche une matrice
public static void showMatrix(String[][] matrix) {
if (matrix == null) {
throw new NullPointerException();
}
double som = 0;
double[] vecteur = new double[13];
double[][] matrice = new double[matrix.length][];
double valeur;
for (int i = 0; i < matrix.length; ++i) {
for (int j = 0; j < matrix[i].length; ++j) {
System.out.print("IMAGE N°" + i + "=" + matrix[i][j] + " ");
}
System.out.println();
}
// calcule vecteur moyenne
for (int i = 0; i < matrix.length; ++i) {
for (int j = 0; j < matrix[i].length; ++j) {
valeur = Double.parseDouble(matrix[i][j]);
som = som + valeur;
// System.out.println("somme "+som);
}
vecteur[i] = som / 13;
som = 0;
System.out.println("vecteur\n" + i + " " + vecteur[i]);
System.out.println("************");
}
// calcule euclidienne
double e = 0;
double[] euclide = new double[13];
// double valeur=0;
for (int i = 0; i < matrix.length; ++i) {
for (int j = 0; j < matrix[i].length; ++j) {
valeur = Double.parseDouble(matrix[i][j]);
e = e
+ Math.sqrt((vecteur[j] - valeur)
* (vecteur[j] - valeur));
System.out.println("eeeeeeeee " + e);
}
euclide[i] = e;
e = 0;
System.out.println("euclide\n " + i + " " + euclide[i]);
System.out.println();
}
}
// Point d'entrée du programme
public static void main(String[] args) {
showMatrix(readFile("d:/Vecteur_carac.txt"));
}
} |
Partager