legolas45
Messages postés6Date d'inscriptiondimanche 25 novembre 2007StatutMembreDernière intervention 6 juin 2008
-
6 juin 2008 à 16:41
legolas45
Messages postés6Date d'inscriptiondimanche 25 novembre 2007StatutMembreDernière intervention 6 juin 2008
-
6 juin 2008 à 17:55
Mon probleme est la suivant. Quand je compile mon programme sous Linux tout se passe bien aucun probleme mais quand je compile sous windows il me met un probleme au niveau de l'ArrayList.
J'ai installer java sur ma machine windows. Je peut compiler tant que je ne met pas d'ArrayList.
J'ai egalement une erreur avec le compartor sous Windows.
Voici mon code:
Pour ma class Cine: import java.util.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Cine {
static ArrayList <Film> lesFilms;
Cine(){
lesFilms= new ArrayList <Film>();
}
public ArrayList <Film> getFilms(){
return lesFilms;
}
/** Saisie de Films */
public static Cine saisie(){
System.out.println("Combien voulez-vous saisir?");
int nb=Integer.parseInt(Lecture.lireChaine());
Cine c= new Cine();
for(int i=0;i<nb;i++) c.lesFilms.add(Film.saisie());
return c;
}
/** Affichage des Films */
public String toString(){
String res="";
for(int i=0;i<lesFilms.size();i++) res+=i+". "+lesFilms.get(i)+"\n"; // for(Film fi:lesFilms)
return res; // res+= fi+"\n";
} // return res;
/** Suppresion d'un Film */
public void suppr(int i){
lesFilms.remove(i);
}
/** Ajout d'un Film */
public void add(){
lesFilms.add(Film.saisie());
}
/** Trie des Films */
public void trie(){
Collections.sort(lesFilms);
}
/** Trie par Annee des Films */
public void trieAnnee(){
Collections.sort(lesFilms,new AnneeComparator());
}
/** Sauvegarde sur fichier */
public void sauve(String nomfic){
try{
SerialSauveur.sauve(lesFilms,nomfic);
}
catch(Exception e) {
System.out.println("Erreur de lecture !"+e);
}
}
/** Chargement d'un fichier */
public static ArrayList<Film> charge(String nom){
Object obj= new Object();
try{
obj= SerialSauveur.charge(nom);
}
catch(Exception e) {
System.out.println("Erreur de lecture !"+e);
}
return (ArrayList<Film>)obj; // convertir objet en arraylist
}
/** Programme principal */
public static void main(String [] args){
System.out.println("Que voulez-vous faire?");
System.out.println("1- Charger fichier et l'afficher");
System.out.println("2- Entre de nouveau films");
int choix=Integer.parseInt(Lecture.lireChaine());
if(choix==1){
System.out.println("Nom fichier a charger:");
String f=Lecture.lireChaine();
lesFilms=charge(f);
System.out.println(lesFilms);
}
if(choix==2){
Cine c=new Cine();
c.saisie();
System.out.println("Nom fichier a sauver:");
String fic=Lecture.lireChaine();
c.sauve(fic);
}
}
}
Class Film:
import java.util.*;
import java.io.*;
public class Film implements Comparable <Film>, Serializable {
protected String titre;
private int annee;
private String realisateur;
private String genre;
/** Constructeur par defaut */
Film(){
titre ="";
annee= 0;
realisateur="";
genre="";
}
/** Constructeur */
Film(String tit,int an,String real,String ge){ //Constructeur
titre=tit;
annee=an;
realisateur=real;
genre=ge;
}
/** Recuperation du Titre */
public String getTitre(){
return titre;
}
/** Recuperation de l'Annee */
public int getAnnee(){
return annee;
}
/** Recuperation du Realisateur */
public String getRealisateur(){
return realisateur;
}
/** Recuperation du Genre */
public String getGenre(){
return genre;
}
/** Affichage */
public String toString(){
return (titre+",produit en: "+annee+",realise par "+realisateur+",genre: "+genre);
}
public int compareTo(Film f){
return f.titre.compareToIgnoreCase(f.titre);
}
/** Saisie d'un Film */
public static Film saisie(){
System.out.println("Titre:");
String titre=Lecture.lireChaine();
System.out.println("Annee:");
int annee=Integer.parseInt(Lecture.lireChaine());
System.out.println("Realisateur:");
String realisateur=Lecture.lireChaine();
System.out.println("Genre:");
String genre=Lecture.lireChaine();
return new Film(titre,annee,realisateur,genre);
}
}
Class AnneComparator:
import java.util.*;
public class AnneeComparator implements Comparator <Film> {
/** Comparaison des Annee des Films */
public int compare(Film f1,Film f2){
if(f1.getAnnee()<f2.getAnnee()) return 1;
else if(f2.getAnnee()<f1.getAnnee()) return -1;
else return 0;
}
}
Class Lecture:
import java.io.*;
public class Lecture
{
public static String lireChaine() {
String ligne =null;
BufferedReader entree = new BufferedReader(new InputStreamReader(System.in));
try{
ligne = entree.readLine();
}
catch(IOException e) {
System.out.println("Erreur de lecture !"+e);
}
return ligne;
}
}
Class SerialSauveur:
import java.io.*;
public class SerialSauveur{
public static Object charge (String f) throws Exception {
Object o;
FileInputStream fis=new FileInputStream(f);
ObjectInputStream ois=new ObjectInputStream(fis);
o=ois.readObject();
ois.close();
return (o);
}
public static void sauve (Serializable o, String f) throws Exception {
FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream w = new ObjectOutputStream(fos);
w.writeObject(o);
w.flush();
w.close();
}
legolas45
Messages postés6Date d'inscriptiondimanche 25 novembre 2007StatutMembreDernière intervention 6 juin 2008 6 juin 2008 à 17:55
C'est bon en fait tu avait raison. J'ai installer un nouveau jre mais je n'est pas donner le nouveau lien dans le path de windows.
Maintenant ca compile sans probleme.
Merci du coup de main.