Bonjour,
En surfant sur le net j'ai trouvé un exercice sur un autre site.
Voici l’énoncé :
Un éleveur de volaille reçoit d’un fournisseur de jeunes canards et de jeunes poulets qu’il élève jusqu’à ce qu’ils aient la taille nécessaire à leur commercialisation.
Une volaille est caractérisée par son poids et un numéro d’identification reporté sur une bague qu’elle porte a sa petite patte. Les volailles arrivent à l’élevage à l’âge de trois semaines. Elles sont baguées et enregistrées dans le système informatique.
Il y a deux sortes de volailles : des canards et des poulets. Le prix du canard et celui du poulet sont deux prix différents, exprimés en euros par kilo. En revanche, le prix est le même pour tous les individus de la même espèce. Ce prix varie chaque jour. Le poids auquel on abat les bêtes est différents pour les canards et les poulets, mais c’est le même pour tous les poulets (respectivement, tous les canards).
- Écrivez une classe des volailles avec deux sous-classes des poulets et des canards. Il faut pouvoir enregistrer les prix du jours, les poids d’abbatage, le poids d’une volaille donnée.
- Écrivez une classe permettant de représenter l’ensemble des animaux de l’élevage au moyen d’un tableau et de savoir le nombre de volailles reçues et le type de chaque volaille. On considérera que l'éleveur ne peut pas recevoir au maximum que 200 volailles à la fois.
- Écrire une méthode qui permet de calculer le prix total de toutes les volailles que l'éleveur possède.
Voici mes essais pour les questions :
- la première :
Volaille.Java
Poulet.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Volaille { int Poids,ID; public Volaille(int P, int id){ Poids = P; ID = id; } public void Affiche(){ System.out.println("Poids : "+Poids+", N° : "+ID); } }
Canard.java
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 Poulet extends Volaille{ int PrixJour,PoidsAbat; public Poulet(int p, int id, int PJ, int PA){ super(p,id); PrixJour = PJ; PoidsAbat = PA; } @Override public void Affiche(){ super.Affiche(); System.out.println("Prix du Jour : "+PrixJour+", Poids d'abattage : "+PoidsAbat); } }
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 Canard extends Volaille{ int PrixJour,PoidsAbat; public Canard(int p, int id, int pj, int pa){ super(p,id); PrixJour = pj; PoidsAbat = pa; } @Override public void Affiche(){ super.Affiche(); System.out.println("Prix du Jour : "+PrixJour+", Poids d'abattage : "+PoidsAbat); } }- la deuxième :
j'ai ajouté une variable booléenne à la classe Volaille qui teste sur le type de volaille, est ce poulet ou canard :
Ensemble.java
Malheureusement on ne peut pas connaitre le type de volaille à partir de la classe mère !
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 public class Ensemble{ Volaille tab[] = new Volaille[200]; public int Nbr_Type_Volaille(){ int Nbr = 0; for(int i =0;i < tab.length;i++){ if(tab[i] != null){ if(tab[i].type == true) System.out.println("Poulet."); else System.out.println("Canard."); } } return Nbr; } }- la troisième :
... L'attribut PrixJour ne se trouve pas dans la classe mère Volaille !
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 Ensemble{ Volaille tab[] = new Volaille[200]; public PrixTotal(){ int PrixPoulet = 0; int PrixCanard = 0; for(int i =0;i < tab.length;i++){ if(tab[i] != null){ if(tab[i].type == true) PrixPoulet += tab[i].PrixJour; else PrixCanard += tab[i].PrixJour; } } return PrixPoulet+PrixCanard; } }
Je n'ai pas encore compilé les essais car ce ne sont pour le moment que des idées, espérons qu'elles soient logiques.
Partager