IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Gestion d'une petite bibliothèque


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Gestion d'une petite bibliothèque
    salut,
    happy new year
    l’énoncé de l'exercice est sur la pièce joint
    j'ai trouver des problèmes dans l’implémentation des méthodes de la 3 ème question et la méthode de la classe Livre ( empruntable():boolean )
    voici les codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public class Test{
     
    	public static void main(String [] args){
    		Bibliotheque bibli = new Bibliotheque();
    		Adherent ad = new Adherent("fussa","fyby");
    		Adherent ad2 = new Adherent("slim","shady");
    		bibli.ajouterAdherent(ad);
    		bibli.ajouterAdherent(ad2);
     
    		int n=4;
    		Document[] docs = new Document[n];
    		docs[0]=new Livre("misérables","hugo victor");
    		docs[1]=new Journal("dr dobbs",11,10,2003);
    		docs[2]=new BD("thorgal","van hamme","rosinky");
    		docs[3]=new Livre("systemes","ferber");
     
    		for(int i=0;i<n;i++){
    			System.out.println("document "+docs[i]);
    			bibli.ajouterDocument(docs[i]);
    		}
    		bibli.listerDocuments();
    		bibli.recupererDocuments();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    import java.util.Vector;
    import java.io.*;
     
     
     
    public class Bibliotheque{
    	private Vector adherents;
    	private Vector documents;
     
    	public Bibliotheque(){
    		adherents= new Vector();
    		documents= new Vector();
    	}
    	public void ajouterAdherent(Adherent ad){
    		adherents.addElement(ad);
    	}
    	public void ajouterDocument(Document doc){
    		documents.addElement(doc);
    	}
    	public void listerDocuments(){
    		ObjectOutputStream oos;
    		int i,s = documents.size();
    		try{
    			oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(new File("file.txt"))));
    			for (i=0; i<s;i++){
    				oos.writeObject(documents.get(i));
    			}
    			oos.close();
    		} catch (IOException e){
    			e.printStackTrace();
    		}		
    	}
     
    	public void recupererDocuments(){
    		ObjectInputStream ois;
    		try{
    			ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(new File("file.txt"))));
    			System.out.println("affichage des documents :");
    			System.out.println("*************************");
    			int s= documents.size();
    			try{
    				for(int i=0;i<s;i++){
    			}
    				System.out.println(((Document)ois.readObject()).toString());				
    			}catch(ClassNotFoundException e){
    				e.printStackTrace();
    			}
    			ois.close();
    		}catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    import java.io.Serializable;
     
    public class Adherent implements Serializable {
     
    	private String prenom;
    	private String nom;
     
    	public Adherent(){
    		this.prenom="Inconnu";
    		this.nom="Inconnu";
    	}
    	public Adherent(String prn,String nm){
    		this.prenom=prn;
    		this.nom=nm;
    	}
    	public void setNom(String nm){
    		this.nom=nm;
    	}
    	public void setPrenom(String prn){
    		this.prenom=prn;
    	}
    	public String getNom(){
    		return this.nom;
    	}
    	public String getPrenom(){
    		return this.prenom;
    	}
    	public String toString(){
    		return "nom : "+this.getNom()+" , prenom : "+this.getPrenom();
    	}
    	public void emprunter(Livre l){
    		l.empruntable();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import java.io.Serializable;
     
    public class Document implements Serializable {
    	private String titre;
     
    	public Document(){
    		this.titre="Inconnu";
    	}
    	public Document(String ttr){
    		this.titre=ttr;
    	}
    	public void setTitre(String ttr){
    		this.titre=ttr;
    	}
    	public String getTitre(){
    		return this.titre;
    	}
    	public String toString(){
    		return "titre du document : "+this.getTitre();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    public class Volume extends Document{
    	private String auteur;
     
    	public Volume(){
    		super();
    		this.auteur="Inconnu";
    	}
    	public Volume(String ttr,String aut){
    		super(ttr);
    		this.auteur=aut;
    	}
    	public void setAuteur(String aut){
    		this.auteur=aut;
    	}
    	public String getAuteur(){
    		return this.auteur;
    	}
    	public String toString(){
    		return "auteur : "+this.getAuteur()+" , "+super.toString();
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class Journal extends Document {
    	private Date dt;
     
    	public Journal(){
    		super();
    		this.dt= new Date();
    	}
    	public Journal(String ttr,int dy,int mth,int yr){
    		super(ttr);
    		this.dt= new Date(dy,mth,yr);
    	}
    	public String toString(){
    		return "date : "+this.dt.toString()+" , "+super.toString();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public class BD extends Volume {
    	private String dessinateur;
     
    	public BD(){
    		super();
    		this.dessinateur="Inconnu";
    	}
    	public BD(String ttr,String aut,String nomD){
    		super(ttr,aut);
    		this.dessinateur=nomD;
    	}
    	public String getNomDessinateur(){
    		return this.dessinateur;
    	}
    	public void setNomDessinateur(String nomD){
    		this.dessinateur=nomD;
    	}
    	public String toString(){
    		return "dessinateur : "+this.getNomDessinateur()+" , "+super.toString();
    	}
     
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Livre extends Volume {
    	public Livre(){
    		super();
    	}
    	public Livre(String ttr,String aut){
    		super(ttr,aut);		
    	}
     
     
    	public String toString(){
    		return "livre => "+super.toString();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Dictionnaire extends Volume {
    	public Dictionnaire(){
    		super();
    	}
    	public Dictionnaire(String ttr,String aut){
    		super(ttr,aut);
    	}
    	public String toString(){
    		return "dictionnaire => "+super.toString();
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    import java.io.Serializable;
     
     
    public class Date implements Serializable {
    	private int day;
    	private int month;
    	private int year;
     
    	public Date(){
    		this.day=0;
    		this.month=0;
    		this.year=0;
    	}
    	public Date(int dy,int mth,int yr){
    		this.day=dy;
    		this.month=mth;
    		this.year=yr;
    	}
    	public void setDay(int dy){
    		this.day=dy;
    	}
    	public void setMonth(int mth){
    		this.month=mth;
    	}
    	public void setYear(int yr){
    		this.year=yr;
    	}
    	public int getDay(){
    		return this.day;
    	}
    	public int getMonth(){
    		return this.month;
    	}
    	public int getYear(){
    		return this.year;
    	}
    	public String toString(){
    		return this.getDay()+"/"+this.getMonth()+"/"+this.getYear();
    	}
     
    }
    Images attachées Images attachées  
    Dernière modification par Invité ; 03/01/2014 à 04h00.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par FuSsA Voir le message
    l’énoncé de l'exercice est sur la pièce joint
    Et illisible car trop petit
    Citation Envoyé par FuSsA Voir le message
    j'ai trouver des problèmes dans l’implémentation des méthodes de la 3 ème question et la méthode de la classe Livre ( empruntable():boolean )
    Quels problèmes?

  3. #3
    Invité
    Invité(e)
    Par défaut
    bon dans la classe Livre je dois implémenter une méthode: empruntable():boolean
    dans l'énoncé il est dit que les adhérents peuvent emprunté k les livres.. la méthode ne reçoit aucun paramètre , j'ai pas su koi faire

    pour la question 3 on nous a demandé d’implémenter dans la classe Adhérent les méthodes: void emprunter(Livre l) et void rendre(Livre l)
    c'est pareil j'ai po su koi faire.. peut être k ses méthodes vont utiliser la méthode empruntable() de la classe Livre
    comment implémenter ses méthodes ? merci

    pour la qualité de l'image , elle n'est pas bonne, essaye de la télécharger et ouvre la en mode diaporama n'utilise pas la loupe
    et merci
    Dernière modification par Invité ; 03/01/2014 à 05h07.

  4. #4
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    juste une question sans rapport:
    pourquoi des constructeurs sans paramètres avec ces initialisations à "inconnu"?
    il me semble que la plupart de tes objets sont immuables (donc pas de setNom par exemple)...

    edit: autre remarque : je trouve que la suggestion dans l'énoncé d'utiliser des Vector est un archaïsme ....

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Comme son non l'indique, cette méthode a vraisemblablement pour but de savoir si le livre, d'une manière générale, peut être emprunté. Le critère doivent surement être décrit dans l'exercice. C'est quelque chose qui ne concerne que le livre, pas l'adhérent.

    La méthode dans adhérent, au contraire, concerne la paire adhérent livre. Je suppose qu'un adherent doit vérifier que le livre est empruntable et si oui, si sa liste de livre emprunté ne dépasse pas la limite. Pour ensuite le marqué comme emprunté et le mettre dans sa liste.

    Pour le reste, faut voir les contraintes données

  6. #6
    Invité
    Invité(e)
    Par défaut
    ce ki est indiquer dans l'exercice et que les adherents peuvent emprunter des livres ( et uniquement des livres) et on doit pouvoir savoir à tout moment quels sont les livres empruntés par un adherent..
    alors maintenant comment faire pour implementé ces methodes
    merci

Discussions similaires

  1. BiblioISSATS : Gestion d'une bibliothèque universitaire
    Par Chatbour dans le forum Vos contributions VB6
    Réponses: 3
    Dernier message: 25/10/2010, 18h40
  2. Réponses: 2
    Dernier message: 26/11/2008, 23h12
  3. Réponses: 3
    Dernier message: 05/08/2008, 20h06
  4. Gestion d'une bibliothèque en Windev
    Par Lenalyon dans le forum WinDev
    Réponses: 5
    Dernier message: 23/08/2007, 16h01
  5. Gestion d'une petite base de données
    Par vmal dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2006, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo