jsand094
-
29 sept. 2012 à 20:47
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
1 oct. 2012 à 11:03
Bonjour,
Ce sont des acteurs qui ont joué dans des films. Quand vous l'exécuterez, vous verrez que :
- le fichier d' « entree » se presente comme suite :
Film 1 : Hugues Joel Daniel ... ... ..
Film 2 : Gérémie Émilie Constance ... ...
Film 3 : Fabien Hugues Kacou ....
- Le fichier de sortie devrait se presenter comme suite :
Hugues : Film 1 Film 3 ...
Joel : Film 1 ...
Rien ne s'affiche dans le fichier de sortie
package javaapplication3;
/**
* @author sandé
*/
import java.io.*;
import java.util.Scanner;
//import java.util.Vector;
public class JavaApplication3 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
File e = new File ("entree.txt");
File s = new File ("sortie.txt");
Scanner sc = new Scanner(System.in); // entree manuelle
// Scanner se = new Scanner(e); // recherche dans fichier entree
boolean ajout = true;
PrintWriter pw1 = new PrintWriter(new BufferedWriter(new FileWriter(e, ajout))); // ecriture dans fichier e
PrintWriter pw2 = new PrintWriter(new BufferedWriter(new FileWriter(s, ajout))); // reorganisation de donnee et report dans fichier s
int repFilm;
int repActeur;
//Vector vact = new Vector();
String Matrice[][] = new String [50][50];
//-------------------- entree -----------------------------------------
try{
int i;
int j;
String nom;
System.out.println("Combien de films voulez vous enregistrer ? ");
repFilm = sc.nextInt();
String Film[];
for(i=0; i<repFilm; i++){
System.out.println("\nFilm "+(i+1)+" : "+
"combien d'acteurs ?");
repActeur = sc.nextInt();
Film = new String[(repActeur+1)];
Film[0] = "Film "+(i+1)+" : "; //entree 0
Matrice[i][0]= Film[0];
for(j=1; j<=repActeur; j++){
System.out.println("Acteur "+j+" :");
nom = sc.next();
Film[j] = nom; //entree acteur
// vact.;
Matrice[i][j]= nom;
}
for(j=0; j<=repActeur; j++){
System.out.print(Film[j]+" "); // conception du fichier entree
pw1.print(Film[j]+" ");
}
pw1.println();
} pw1.close();
// on fini les enregistrement du fichier d'entree avant de pouvoir creer le fichier de sortie
}catch(Exception ex){
System.out.println("Probleme avec le fichier d'entree...");
}
//---------------------- sortie -----------------------------------------------
try{
String tab[] = new String[49];
String report;
int k=0;
//vrai pour chaque ligne
for(int l=1; l<=49; l++){ // pour une ligne particulier
tab[(l-1)] = Matrice[k][l];
report = tab[(l-1)]+" : ";
for(k=0; k<50; k++){
if(Matrice[k][l].matches(tab[l-1])){
report = report+" Film "+(k+1)+" ";
}
}
pw2.print(report);
}
pw2.close();
}catch(Exception ey){
System.out.println("Probleme avec le fichier de sortie...");
}
}
}
Qui aurait une meilleure suggestion ? ou pourquoi le code ne marche pas ?
Merci d'avance pour vos reponses Jsande