|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : vous pouvez corriger mes réponses d'un examen, svp ? [ Divers / Débutant(e) ] (sikove)
Informations & options pour cette discussion
dimanche 11 mai 2008 à 13:02:46 |
vous pouvez corriger mes réponses d'un examen, svp ?

sikove
|
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 ) :
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
|
|
|
dimanche 11 mai 2008 à 15:18:40 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

Ombitious_Developper
|
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.
|
|
|
dimanche 11 mai 2008 à 15:21:41 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

Ombitious_Developper
|
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(); } }
|
|
|
dimanche 11 mai 2008 à 15:24:51 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

Ombitious_Developper
|
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.
|
|
|
dimanche 11 mai 2008 à 17:22:09 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

sikove
|
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 ) ++
|
|
|
dimanche 11 mai 2008 à 18:48:36 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

sikove
|
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 ^^ ++
|
|
|
dimanche 11 mai 2008 à 19:35:58 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

Ombitious_Developper
|
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?
|
|
|
dimanche 11 mai 2008 à 22:15:00 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

sikove
|
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
|
|
|
dimanche 11 mai 2008 à 22:32:55 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

Ombitious_Developper
|
Salut:
Personnellement je pense que la classe Vector est la structure de données la plus adéquate.
|
|
|
dimanche 11 mai 2008 à 23:05:05 |
Re : vous pouvez corriger mes réponses d'un examen, svp ?

sikove
|
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
|
|
|
Cette discussion est classé dans : variables, instance, entier, classes, examen
Répondre à ce message
Sujets en rapport avec ce message
pb de variables et fonctions [ par one_piece ]
bonjour!!!voila j'ai deux classes:-public class SaisieEB2V extends JFra
applet et variables de session [ par zarbiman ]
Bonjour, c'est une urgence !! est-il possible de récuperer des variables de session depuis une applet, et si oui (y'a interet que ce soit possible !!)
Tansformer une image en un tableau d'entier [ par damien soissons ]
Bonjour, Je suis un grand debutant en java, et j'aurais besoin d'un petit coupe de main, il faudrais que je transforme une image JPG en un tableau d
pblms_java [ par sam_12_3 ]
salut tout le monde, la je fait en java une petite application qui va gerer une bibliotheque j'ai fait un diagramme des classes (avec comme classes:
probleme de composant dans un JTabbedPane [ par Djidane41771 ]
bonjour, je voudrais savoir si c'etait possible d'inserer dans plusieurs ongletsd' un JTabbedPane une meme instance de Jframe, c'est a dire la meme pr
Comment recuperer toutes les classes d'un package?? [ par vuid ]
BonjourJ aimerai recuperer toutes les classes d'un package afin de savoir les quelles heritent d une certaine interface. Comment puis je proceder, je
HttpServlet : recupération des variables passées au script [ par fluminis ]
Bonjour,Comment récupérer des variables complexes passées à un script ?On appele ma page avec une url du genre :http://server/page?tab[0]=val0&tab[1]=
[J2ME]Gestion du stylet [ par grumli ]
bonjour, je recherche les classes java sous J2ME (et de préférence sous la config CLDC) pour la gestion du stylet, action sur les widgets, écriture m
Variables communes entre Applets [ par Se7enSinsMan ]
Bonjour, Est-il possible qu'une applet puisse passer un paramètre à une autre applet ? Merci
machin et Jmachin [ par alonsyl ]
bonjour,je suis en train d'apprendre java et je rencontre frequemment lors ma visite de sites specialises la classe "JComponent".quel est le distingo
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|