nouveau probleme filmothèque
salut tout le monde donc j'ai presque fini mon application filmotheque sauf que ça plante à un moment donné, il ya tout qui marche comme je veux sauf quand j'entre un numero de film à supprimer ça me le supprime mais ça n'afficher pas la contenu de ma filmotheque après, je sais pas pourquoi voici le code les gars:
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| Mafilmotheque.java
package ftech.Class;
public class MaFilmotheque {
public static void insérer()
{
ListeFilms L= new ListeFilms();
L.initialise();
int i=0;
System.out.print("voulez vous ajouter un film ?\n");
char rep;
rep=Lire.c();
while(rep == 'o')
{
System.out.print("saisissez le titre de votre film:");
String tit=Lire.S();
System.out.print("saisissez l'année de sortie de votre film:");
int ann=Lire.i();
System.out.print("saisissez le nom du réalisateur de votre film:");
String réa=Lire.S();
System.out.print("saisissez le genre de votre film:");
String gen=Lire.S();
Film f= new Film(tit,ann,réa,gen);
L.ajoute(f);
i++;
System.out.print("le film numero "+i+" a bien été ajouté\n");
System.out.print("voulez vous ajouter un autre film ?\n");
rep=Lire.c();
}
//L.affficher();
L.supprimer();
//L.affficher();
}
public static void main(String [] arg) {
insérer();
}
} |
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 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
| ListeFilms.java
package ftech.Class;
import java.util.*;
public class ListeFilms {
public TreeSet<Film> t;
public void initialise() {
t = new TreeSet<Film>();
}
public boolean ajoute(Film f) {
if (t.add(f)) {
System.out.print("l'ajout s'est bien deroulé\n");
return true;
} else {
System.out.print("l'ajout n'est pas effectué\n");
return false;
}
}
public void affficher() {
Iterator<Film> it = t.iterator();
while (it.hasNext())
System.out.println(((Film) (it.next())).toString());
}
public void supprimer() {
int num = 1;
Iterator<Film> it = t.iterator();
while (it.hasNext()) {
Film f = (Film) (it.next());
System.out.println(f + " ------> " + num);
num++;
}
System.out
.println("saisissez le numéro du film que vous désirez supprimer de la collection:");
int m = Lire.i();
it = t.iterator();
num = 1;
while (it.hasNext()) {
if (num == m) {
boolean b;
b = t.remove(it.next());
if (b) {
System.out.print("le film numéro " + num
+ " a bien été supprimé");
} else {
System.out.print("le film numéro" + num
+ "n'a pas été supprimé");
}
}
num++;
affficher();
}
}
} |
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 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
| Film.java
package ftech.Class;
public class Film implements Comparable<Film>{
private String titre;
private int année;
private String réalisateur;
private String genre;
/*public void saisir(){
System.out.print("saisissez le titre de votre film:");
titre=Lire.S();
System.out.print("saisissez l'année de sortie de votre film:");
année=Lire.i();
System.out.print("saisissez le nom du réalisateur de votre film:");
réalisateur=Lire.S();
System.out.print("saisissez le genre de votre film:");
genre=Lire.S();
}*/
public Film(String tit,int ann,String réa,String gen)
{
titre=tit;
année=ann;
réalisateur=réa;
genre=gen;
}
public void afficher(){
System.out.print("le titre du film est: "+titre+ "\n");
System.out.print("l'année de sortie du film est: "+année+ "\n");
System.out.print("le réalisateur du film est: "+réalisateur+ "\n");
System.out.print("le genre du film est: "+genre+ "\n");
}
public void setFilm(String tit, int ann, String réa, String genr){
titre= tit;
année= ann;
réalisateur= réa;
genre= genr;
}
public String getTitre(){
return titre;
}
public int getAnn(){
return année;
}
public String getRéal(){
return réalisateur;
}
public String getGenre(){
return genre;
}
public String toString(){
return (titre+" "+année+" "+réalisateur+" "+genre);
}
public int compareTo(Film f){
int comptitre = getTitre().compareTo(f.getTitre());
return
comptitre != 0 ? comptitre : getRéal().compareTo(f.getRéal());
}
} |
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 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 108 109 110 111 112 113 114 115
| Lire.java
package ftech.Class;
import java.io.*;
public class Lire
{
public static String S() // Lire un String
{
String tmp = "";
char C='\0';
try {
while ((C=(char) System.in.read()) !='\n')
{
if (C != '\r') tmp = tmp+C;
}
}
catch (IOException e)
{
System.out.println("Erreur de frappe");
System.exit(0);
}
return tmp;
} // fin de S()
public static byte b() // Lire un entier byte
{
byte x=0;
try {
x=Byte.parseByte(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}
public static short s() // Lire un entier short
{
short x=0;
try {
x=Short.parseShort(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}
public static int i() // Lire un entier
{
int x=0;
try {
x=Integer.parseInt(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}
public static long l() // Lire un entier long
{
long x=0;
try {
x=Long.parseLong(S());
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}
public static double d() // Lire un double
{
double x=0.0;
try {
x=Double.valueOf(S()).doubleValue();
}
catch (NumberFormatException e) {
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}
public static float f() // Lire un float
{
float x=0.0f;
try {
x=Float.valueOf(S()).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}
public static char c() // Lire un caractere
{
String tmp=S();
if (tmp.length()==0)
return '\n';
else
{
return tmp.charAt(0);
}
}
} |
et grand merci