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
|
import java.io.*;
import java.util.*;
public class Gauss{
public static void main(String[] args){
String donnees, resultats;
donnees = args[0];
resultats = args[1];
//Lancer la resolution :
creerMatrice(donnees, resultats);
}
public static void creerMatrice(String fichier_donnees, String fichier_resultat){
//Declaration des variables :
String ligne = "";
int[][] tab = null;
boolean initialise = false;
int i, j ;
BufferedReader br = null;
int nbLargeur = 0;
//Lecture des informations dans le fichier :
try{
br=new BufferedReader(new InputStreamReader(new FileInputStream(fichier_donnees)));
}catch(IOException ioe){
System.out.println("IOException : " + ioe.getMessage());
}
//On remplit un tableau 2 dimenssions avec les informations lues dans le fichier :
i = 0;
try{
while((ligne=br.readLine()) != null){
j = 0;
StringTokenizer st = new StringTokenizer(ligne, ";");
nbLargeur = st.countTokens();
if(!initialise){
//S'il n'est pas initialisé, on initialise le tableau avec la bonne taille :
tab = new int[nbLargeur][nbLargeur-1];
initialise = true;
}
while (j < nbLargeur) {
int valeur = 0;
String duFichier = st.nextToken();
//Test pour voir si la valeur lue est bien un entier :
testEntier(valeur,duFichier);
//On affecte la valeur à une case du tableau :
tab[j][i] = valeur;
j++;
}
i++;
}
}catch(Exception e){
System.out.println("Une erreur s'est produite lors du remplissage du tableau : " + e.getMessage());
System.exit(1);
}
//Creation d'un objet Matrice pour résoudre le systeme :
Matrice mat = new Matrice(tab);
//Resolution du systeme :
if(mat.resolution()){
System.out.println("Systeme resolu avec succes, solutions ecrites dans : " + fichier_resultat);
mat.ecrireResultats(fichier_resultat);
}else{
System.out.println("Le systeme n'a pa de solution !");
}
//Sauvegarde du resultats dans le fichier prévu :
}
public static boolean testEntier(int valeur, String duFichier) {
try {
valeur = Integer.parseInt(duFichier);
return true;
}catch (Exception e) {
//Si la valeur lue n'est pas un entier on arrète le programme :
System.out.println(duFichier + " n'est pas un entier (arrêt du programme)");
return false;
}
}
} |
Partager