Vous pouvez corriger mes réponses d'un examen, svp ?

sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010 - 11 mai 2008 à 13:02
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010 - 25 mai 2008 à 12:28
Salut tout le monde,

afin de me préparer pour l'examen de fin de l'année que j'ai bientot, j'ai travaillé sur un modéle d'examen de 2007

Voila les 2 premières questions :

---------------------------------------------------------------------
En vue de la gestion d'une bibliothèque, on vous demande d'écrire une application pour traiter des documents de nature diverses : des livres, qui peuvent être des romans ou des manuels, des revues, des dictionnaires, etx.

tous les documents ont un numéro d'enregistrement (un entier ) et un titre (une chaine de caractères). Les livres ont, en plus, un auteur (une chaine) et un nombre de pages(un entier).Les romans ont éventuellement un prix littéraire(un entier, parmi : GONCOURT, MEDICIS, INTERALLIE, etc) tandis que les manuels ont un niveau scolaire(entier).Les revues ont un mois et une année(des entiers) et les dictionnaires ont une langue (un entier, parmi ANGLAIS ALLEMAND ESPAGNOL etc )

ces diverses sortes de choses doivent pouvoir être manipulées en tant que documents

1- Définissez les classes Document, Livre, Roman, Manuel, Revue et Dictionnaire, entre lesquelles existeront les liens d'héritage que la description précédente suggère.

Dans chacune de ces classes définissez le constructeur qui prend autant d'arguments qu'il y'a de variables d'instance et qui se limite à initialiser ces dernières avec les valeurs des arguments
Définissez également une méthode toString produisant une description sous forme de chaine de caractères des instances de la classe.Enfin, si les variables d'instance ont été déclarées private(à défaut d'autre information, c'est conseillé) définissez également des accesseurs publics permettant de consulter les valeurs de ces variables

2- écrivez une classe exécutable TestDocumemnts qui construit et affiche un assortiment de documents de classes différentes
-----------------------------------------------------------

quelques questions :

------------------------------------------------------------
"Les romans ont éventuellement un prix littéraire(un entier, parmi : GONCOURT, MEDICIS, INTERALLIE, etc)"

dans ce genre de problemes comment on va faire ? ma réponse est elle bien ?

"définissez le constructeur qui prend autant d'arguments qu'il y'a de
variables d'instance et qui se limite à initialiser ces dernières avec
les valeurs des arguments"

euh c'est à dire ? un constrcuteur avec tout les champs de classes qu'on a ou on les mets un par un ? et apres on référe à chacun par this() ?

"si les variables d'instance ont été déclarées private(à défaut d'autre information, c'est conseillé)"

donc private ou protected ici ? perso j'ai mis private ....

"définissez également des accesseurs publics permettant de consulter les valeurs de ces variables"

de consulter ... donc on met seulement des gets n'est ce pas ?
----------------------------------------------------------------------------

et enfin voila ici ma réponse complete de ces 2 questions d'examen, la suite viendra apres ( collection ) :

http://dl.free.fr/opzTlXIZQ/correction.txt

vous pouvez svp corriger ma réponse et m'orienter vers le bon chemin de la réussite ? des conseils ne seront pas de refus aussi ^^

voili voila, merci d'avance à tout le monde

23 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
11 mai 2008 à 15:18
Salut:

public class Document {
    protected int numero;
    protected String titre;
   
    public Document() {}

    public Document(int numero, String titre) {
       this.numero = numero;
       this.titre = titre;
    }

    // Gettes & Setters pour chaque attribut

    public String toString() {
       StringBuffer sb = new StringBuffer();
       sb.append("Numero d'enregistrement : ");
       sb.append(numero);
       sb.append(",");
       sb.append("Titre : ");
       sb.append(titre);
       return sb.toString();
    }
}

public class Livre extends Document {
    protected String auteur;
    protected int nbrePages;

    public Livre() {
    }

    public Livre(int numero, String titre, String auteur, int nbrePages) {
       super(numero, titre);
       this.auteur = auteur;
       this.nbrePages = nbrePages;
    }

    public Livre(String auteur, int nbrePages) {
        this(0, null, auteur, nbrePages);
    }

     // Setters & Getters

    public String toString() {
       StringBuffer sb = new StringBuffer();
       sb.append(super.toString());
       sb.append(",");
       sb.append("Auteur : ");
       sb.append(auteur);
       sb.append(",");
       sb.append("Nombre de pages: ");
       sb.append(nbrePages);
       return sb.toString();
    }
}

public class Roman extends Livre {
    public static final int PRIX_GONCOURT = 1000;
    public static final int PRIX_MEDICIS       = 2000;
    public static final int PRIX_INTERALLIE = 3000;

    protected int prix;

   public Roman() {
   }

    public Roman(int numero, String titre, String auteur, int nbrePages, int prix) {
            super(numero, titre, auteur, nbrePages);
            switch (prix) {
                   case PRIX_GONCOURT:
                   case PRIX_MEDICIS:
                   case PRIX_INTERALLIE:
                      this.prix = prix;
                      break;
                   default:
                       throw new IllegalArgumentException("Le prix est invalide !!!");
            }
    }

    // Setters & Getters

    public String toString() {
       StringBuffer sb = new StringBuffer();
       sb.append(super.toString());
       sb.append(",");
       sb.append("Prix : ");
       sb.append(prix);

       return sb.toString();
    }
}

// Je te laisse terminer les reste.
A premier vue Revue er dictionnaires sont des sous-classes de Livre.

Pour le cas du prix des romans: pour s'assurer qu'on a fournit le bon prix:
1. Avec Java 1.5 ou plus, tu peux utiliser les énumérations.
2. Définir les différents valeurs possibles en tantque constante (public static final int PRIX_ = ...;)
    Tester sur le prix, si ce n'est pas parmi les constantes citées alors il faut déclencher une exception.
(Cette exception peut être un IllegalArgumentException qui est une sous-classe de RuntimeException ce qui signifie qu'il possible de ne pas la traiter avec un bloc try/catch ce qui peu causer le crash du programme, ou bien
définir une exception personnalisée (ce qui est encouragé):

public class PrixInavalidException extends Exception {
        public PrixInavalidException() {}
        public PrixInavalidException(String message) {
                  super(message);
        }
}

Mais dans ce cas tu dois traiter cette exception avec un bloc try/catch, par exemple:

try {
     Roman roman = new Roman (...);
} catch (PrixInvalidException e) {
    // ...
}

Cette deuxième solution nécessite un peu plus de code parcequ'il faut ajouter la clause throw PrixInvalidException à l'entête de chaque construteur de la classe Roman et de même aux sous-classes de la classe Roman s'il existent.)

Dans le cas d'un problème d'héritage, il vaut mieux définir les attributs avec le droit d'accès protected. Si un attribut donné est propre à cette classe il faut le définir comme private.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
11 mai 2008 à 15:21
Salut:

public class Livre extends Document {
    protected String auteur;
    protected int nbrePages;

    public Livre() {
    }

    public Livre(int numero, String titre, String auteur, int nbrePages) {
       super(numero, titre);
       this.auteur = auteur;
       this.nbrePages = nbrePages;
    }

    // Tu peux omettre ce constructeur
    // Si on veut saisir toutes informations nécessaires propres à un Livre
    public Livre(String auteur, int nbrePages) {
        this(0, null, auteur, nbrePages);
    }

     // Setters & Getters

    public String toString() {
       StringBuffer sb = new StringBuffer();
       sb.append(super.toString());
       sb.append(",");
       sb.append("Auteur : ");
       sb.append(auteur);
       sb.append(",");
       sb.append("Nombre de pages: ");
       sb.append(nbrePages);
       return sb.toString();
    }
}
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
11 mai 2008 à 15:24
Salut:

Je n'ai pas testé le programme, peut être qu'il y a des fautes faute d'oubli, mais je t'encourage à l'exécuter.

J'espère avoir était clair.

Si tu as des questions n'hésites pas à les poser.

Bonne chance.
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
11 mai 2008 à 17:22
vraiment un grand merci à toi ombi pour ton soutien, je saurais pas quoi faire sans ton aide depuis que j'ai atterrit sur javafr

alors commençons :

" public Document() {}"

on doit toujours laisser le constructeur par defaut vide ? pourquoi ne pas l'initialiser avec des données comme je l'ai fait dans ma solution, genre "aucun" 0 etc..

"StringBuffer ...toString"

j'ai remarqué que t'as utilisé StringBuffer dans toString alors qu'un simple return suffit :

public String toString(){
return "numero est "+this.numero_enre+", titre est "+this.titre;}

c'est vrai que cette class offre beaucoup de possibilité, surtout ce qui concerne le traitement d'un objet String, mais pourquoi compliquer alors qu'on peut faire simple ? je sais pas perso je prefere faire un return d'une chaine tout court ^_^

"Setters et Gettes"

hm faut bien utiliser un set ? car dans les détails de la premiere question il est cité :

"définissez également des accesseurs publics permettant de consulter les valeurs de ces variables"

de consulter ... donc on met seulement des gets tu penses pas ?

"concernant le prix"

c'est noté, mais apres faut pas ajouter un objet str ( cf ma correction.txt ) pour lui dire l'equivalent du prix, est ce que c'est un goncours, medidics .... ?

bon je corrige tout ça, et je fait la correction de la 2eme partie de l'examen, la partie la plus difficile ( enfin pour moi )

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
11 mai 2008 à 18:48
partie 2 d'examen :

-----------------------------------------
2- une bibliothèque sera représentée par une collection de documents (travailler avec vector ou hashtable). Définissez une classe bibliothèque, avec les méthodes :

- bibliotheque (int capacité) -  constructeur qui crée une bibliothèque ayant la capacité (nombre maximum de documents) indiquée
- void afficherDocuments() - affiche tous les ouvrages de la bibliothèque
- void afficherAuterus() - affiche la liste des auteurs de la bibliothèque (au besoin, utilisez l'opérateur instanceof)
- boolean ajouter (Document doc) - ajoute le document référencé par doc et renvoie true (false en cas d'échec)
- Document doument(int i)- renvoie le 1éme document
- boolean supprimer(Document doc) - supprime le document référencé par doc et renvoie true(false en cas d'échec)
-------------------------------------------------------

tout ce que j'ai peu faire c'est la réponse de la question 1, meme si je suis sur que c'est totalement fausse :

class Bibliotheque {
    public Bibliotheque(int capacite){
    Vector f=new Vector(capacite);
    Hashtable m=new Hashtable(capacite) ;
    }    
}

fausse car si on fait appelle du f ou m de l'exterieur on aura une belle erreur ...

et pour revenir aux restes des questions d'examen :

- comment on peut afficher un document alors que le tableau est vide, à part retaper tout et afficher je ne vois pas trop comment faire
- methode boolean ? c'est la premiere fois que je voit ça ...

une réponse à tout ça svp ? si je sais comment faire tout ça je suis sur que je n'aurais pas de problemes pour les autres variantes d'examens ^^

++
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
11 mai 2008 à 19:35
Salut:

Une fois crée un objet de type String est constant.

public String toString(){
    return "numero est "+this.numero_enre+", titre est "+this.titre;
}

La concaténation des objets de type String ne ce sait pas sur la chaine de départ (au contraire de ce qu'on pense) mais un nouveau objet String est crée avec le nouveau contenu puis la référence de cette nouvelle chaine crée est attribuée à la chaine de départ).

Généralement quand on a affair à un grand nombre de concaténation StringBuffer est l'idéal.

public Document() {}


De toute façon les attributs seront initialisés à des valeurs par défauts.

Les classes Vector et Hastable sont deux structures de données extensibles, càd que théoriquement ils peuvent accepter un nombre infini d'éléments.

Vector(int initialCapacity)

Hashtable(int initialCapacity)


Comme tu vois, ces structures de données acceptent un argument qui indique la capacité initiale (pour des raisons de performance). Il faut faire attention cette attribut ne définit pas la capacité maximale, comme je t'ai dit ces structures de données sont extensibles à l'infini (théoriquement).

Pour gérer la capacité, il faut ajouter un nouveau attribut dans la classe en question:

private int capaciteMax;



Et de faire le raisonnement nécessaire.

Avec quelle structure tu vas travailler Hashtable ou Vector?
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
11 mai 2008 à 22:15
ok c'est noté

"Pour gérer la capacité, il faut ajouter un nouveau attribut dans la classe en question:

private int capaciteMax;

Et de faire le raisonnement nécessaire."

hm ça doit faire un beau boulot ça, et seulement pour avoir 2 points ( examen sur 40 )
^^

"Avec quelle structure tu vas travailler Hashtable ou Vector?"
 
Hashtable je crois

merci ombi, bonne nuit/journée
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
11 mai 2008 à 22:32
Salut:

Personnellement je pense que la classe Vector est la structure de données la plus adéquate.
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
11 mai 2008 à 23:05
ok si tu le dits, meme si je connait pas trop grand chose à cette class ^^

sinon tu peux m'aider stp dans les 3 premieres questions, je suis vraiment coincé :

-------------------
- bibliotheque (int capacité) -  constructeur qui crée une bibliothèque ayant la capacité (nombre maximum de documents) indiquée
- void afficherDocuments() - affiche tous les ouvrages de la bibliothèque
- boolean ajouter (Document doc) - ajoute le document référencé par doc et renvoie true (false en cas d'échec)
-----------------------

pour la premiere j'ai pensé à ça :

class Bibliotheque {
    public Bibliotheque(int capacite){
    Vector f=new Vector(capacite);
    }    
}

mais je crois que c'est faut, vu que l'ojet est declaré à l'interieur d'un bloc donc impossible de l'utiliser à l'exterieur .... et pour les 2 autres questions j'en ai vraiment aucune idée

merci
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
13 mai 2008 à 16:28
Salut:

public class Bibliotheque {
    private Vector documents = null;
   
    private int capacite;

    private int total = 0;

    public Bibliotheques(int capacite) {
        this.capacite = capacite;
        documents = new Vector(capacite);
    }

    public afficherDocuments() {
           if (documents.isEmpty()) {
               System.out.println("La bibliotheque est vide.");
           } else {
               System.out.println("Les documents: ");
               for (Enumeration e = documents.elements(); e.hasMoreElements();) {
                      Document doc = (Document)e.nextElement();
                      // Vu qu'on a redéfinit la méthode toString() on va obtenu
                      // L'affichage de tous les attributs
                      System.out.println(doc);
               }
           }
    }

    // Version 1
    // Pour que cette méthode fournit les résultats attendus
    // Il faut redéfinir la méthode equals() dans la classe Document.
    // Ou bien il faut faire le test à chaque fois, ce qui est un peu pénible.
    public boolean ajouterDocument(Document doc) {
        if (doc != null) {
              if ((++total) > capacite) {
                     System.out.println("Capacite maximale [" + capacite + "] atteinte ...");
                     return false;
              }
              if (!documents.contains(doc)) {
                   documents.addElement(doc);
                   return true;
              }
              return false;
        }
        return false;
    }

    // Version 2

    // Pour que cette méthode fournit les résultats attendus

    // Il faut redéfinir la méthode equals() dans la classe Document.

    // Ou bien il faut faire le test à chaque fois, ce qui est un peu pénible.

    public boolean ajouterDocument(Document doc) {

        if (doc != null) {

              if ((++total) > capacite) {

                     System.out.println("Capacite maximale [" + capacite + "] atteinte ...");

                     return false;

              }
             boolean existe;

             for(Enumeration e = documents.elements(); e.hasMoreElements();) {
                      Document d = (Document)e.nextElement();
                      existe = (d.getTitre().equals(doc.getTitre()) &&
                                                     (d.getNumero() == doc.getNumero()));
                      if (existe) {
                              break;
                      }
             }
             if (!existe) {
                      documents.addElement(doc);
             }
             return !existe;

        }

        return false;

    }
}
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
15 mai 2008 à 13:02
merci mon prof ^^

voila avec tn aide j'ai pu terminé la correction de l'examen :

class Bibliotheque {
private Vector bib=null;
private int capacite;
private int nombre;
   
public Bibliotheque(int capacite){
bib=new Vector(capacite);
this.capacite=capacite;
this.nombre=0;}
   
public void vider(){
    bib.clear();
}
public boolean ajouter(Document doc) {
if ( (nombre<capacite) || (doc!=null) || (!bib.contains(doc)) ) {
bib.addElement(doc);
nombre++;
return true;}
else return false;}

public boolean supprimer(Document doc){
if ((bib.contains(doc)) || (doc!=null)) {
bib.removeElement(doc);
nombre--;
return true;}
else return false;    }

public Document document(int i) {
Document dor;
dor=(Document)(bib.elementAt(i));
return dor;}

public void afficherAuteurs(){
for (int i=0; i<nombre; i++)
if ( bib.elementAt(i) instanceof Livre )
System.out.println (((Livre) bib.elementAt(i)).getAuteur());}
       
public void afficherDocuments(){
System.out.println ("\nVector :");   
if(bib.isEmpty()) System.out.println ("c'est vide la");
else {
ListIterator b=bib.listIterator();
while(b.hasNext()) System.out.println (b.next());}
}}

des suggestions ou des remarques ? tout sera le bienvenue ^^

enfaite juste une question à propos de vector : c'est quoi la difference entre addElement et add tout court, element at() et get() ? à quoi sert au juste element ?

++
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
15 mai 2008 à 17:25
Salut:

Pour récupérer un élément d'un object Vector:
get(int index)
elementAt(int index)

Pour ajouter/insérer un élément:
add(int index, Object o)
add(Object o)
addElement(Object o)

Jettes un coup d'oeil sur la documentation.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
15 mai 2008 à 17:33
Salut:

Des remarques:

Tantque tu n'as pas redéfinis la méthode equals() ce programme ne va pas fournir les bons résultats.

La méthodes contains() de la classe Vector utilises implicitement la méthode equals() pour tester l'égalité entre des objets.

Et si tu ne redéfinis la méthode equals alors la méthode contains va utiliser l'implémentation par défaut de la méthode equals (celle fournie par la classe Object: cette implémentation teste sur l'égalité des références).

Voici comment faire par exemple pour la classe Document:

public class Document {
    public boolean equals(Object o) {
       if (o == null) {
          return false;
       }
       if (o == this) {
          return true;
       }
       Document other = (Document)o;
       return (this.getNumero() == other.getNumero() &&
                     this.getTitre().equalsIgnoreCase(other.getTitre()));
    }
}
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
15 mai 2008 à 17:34
Salut:

Il faut faire de même pour les autres classes.
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
16 mai 2008 à 19:59
ah c'est pour ça que ça marchait pas

merci je vais etudier ça
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
20 mai 2008 à 18:44
salut,

dans un autre examen (hotel, tres connu) on nous demande de :

- ajouter dans la classe hotel une collection qui contiendra tous les chanbres de l'hotel (3pts)

la class hotel et chambre sont comme d'habitude,  ils contiennent des champs, accesseurs et toString() pour la description ...

hotel  (nom, adresse, ville, dirigeant )
chambre (final numero, type, prix)

donc pour ajouter une collection on fait bien ça :

class hotel {
private Vector<chambre> test=new Vector<chambre>();
....
public addchambre(chambre p){
test.addElement(p);}

c'est tout ce qu'il faut ajouter ? je sais pas je trouve que c'est tres facile pour 3 points, alors que la class hotel(champ+constructeurs+accesseurs) fait seulement 2 points !!

je sais pas si c'est vrai mais un pote m'a dit qu'il faut ajouter aussi l'objet vectro dans les constructeurs, genre :

public Hotel(String ville,String adresse,String nom,Vector<Chambre> liste_cham)
{
    this.ville=ville; this.adresse=adresse; this.nom=nom;
    chambre=liste_cham;
}

à part modifier le nom du champ, je vois pas trop l'interet de faire cela ....

tu peux m'éclairire stp ? vraiment je suis perdu la ..

merci
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
20 mai 2008 à 19:56
Salut:

C'est à discuter. On peut définir toute la collection des chambres de l'hotel dans le constructeur, comme on peut procèder comme tu as fait.

Un autre chose à ajouter: vérifier que la chambre n'existe afin de l'ajouter. Pour résoudre ce problème d'unicité tu dois:

1. Gérer ça dans le code avant d'ajouter une chambre

2. Utiliser la collection HashSet qui assure l'unicité automatiquement (bien entendu en redéfinissant la méthode equals()).

C'est bien d'offrir plusieurs méthodes à l'utilisateur que de faire tout dans le constructeur.
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
21 mai 2008 à 11:23
ah oui j'ai oublié la class set, je pense qu'elle sera la meilleur façon de classer les chambres en evitant le doublage ^^

"(bien entendu en redéfinissant la méthode equals())."

il ne va pas accepter les doublages automatiquement non ? sinon il n y'aura pas de differences avec cette colletion et vector, puisque on va de toute façon redefinir equals ...

"On peut définir toute la collection des chambres de l'hotel dans le constructeur"

euh c'est possible ? tu peux me dire comment faire stp ? c'est la premiere fois que je tombe sur ce genre de situations, parceque dans le constructeur on connait pas encore les objets créés, donc faire une methode dans un constructeur c'est impossible, et le meme pour le parametre ...

merci
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
21 mai 2008 à 16:38
Salut:

En fait c'est simple. Supposons que tu as choisit de travailler la classe Vector.

public class Hotel {
    private Vector rooms = null;
    public Hotel() {
       rooms = new Vector();
    }

    public Hotel(Vector rooms) {
       this.rooms = rooms;
    }

    public void addRoom(Room room) {
       if (!rooms.contains(room)) {
          rooms.addElement(room);
       }
    }
}

1. Premier cas:

Vector rooms = new Vector();
rooms.addElement(new Room(16));
rooms.addElement(new Room(9));
rooms.addElement(new Room(19));
rooms.addElement(new Room(82));

Hotel hotel = new Hotel(rooms);

// Il se peut qu'on veut y ajouter d'autres chambres
hotel.addRoom(new Room(5));

2. Deuxième cas

Hotel hotel = new Hotel();
hotel.addRoom(new Room(5));
hotel.addRoom(new Room(4));
hotel.addRoom(new Room(11));
0
sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010
21 mai 2008 à 19:36
hm wé j'avais pas imaginé du tout de faire cela, et du coup tout s'explique : "ajouter dans la classe hotel une collection qui contiendra tous les chanbres de l'hotel (3pts) "  donc c'est une colletion dans les constructeurs qu'ils veulent ^^

voici une autre question plus bizarre que la précédente :

Chaque chambre créée doit obligatoirement appartenir à un hotel, modifier l'application pour tenir compte de cette assertion (4pts).

si c'était pas 4 points dans cette question, je dirais directement qu'il faut ajouer à chaque construteur room un parametre hotel, et c'est fini. mais la c'est 4 points , donc je crois qu'il y'a du boulot caché à faire ...

que penses tu ombi, d'apres ton experience que faut il faire dans ce genre de questions ?

merci pour tout frero, je saurais pas quoi sans toi
 
0
Rejoignez-nous