2ème année génie Informatique
Tp n°2
(Java) A.U 2025/2026
Objectif : Instanciation de classes, membres
d’instances et de classe
Enoncé :
Nous souhaitons réaliser une application pour gérer une pharmacie et les
opérations courantes dessus. Une pharmacie gère un ensemble de médicaments
de différents genres.
La classe Médicament encapsule les données suivantes: un code unique de type
long, un nom de type String, un genre de type String ,un prix de type double,
Travail demandé
Manip 1
1. Implémenter la classe Medicament avec les deux constructeurs suivants:
Un constructeur sans paramètres
Un constructeur qui prend en paramètres le nom et le type.
Le code sera généré automatiquement à chaque instanciation de
Medicament. Qu'est ce que vous proposez pour garantir l'unicité du code?
2. Ré- implémenter la méthode String toString() pour qu'elle retourne la
chaîne de caractères qui comporte le nom, le genre et le code du médicament.
3. Soient les deux méthodes compare_nom suivantes qui comparent deux
médicaments selon l'ordre alphabétique de leurs noms:
int compare_nom( Medicament m)
et
int compare_nom (Medicament m1, Medicament m2)
Quelle est la méthode qui devrait être statique? Expliquer.
Implémenter les deux méthodes
4. Implémenter les deux méthodes compare_prix qui comparent deux
médicaments selon leurs prix :
int compare_prix( Medicament m)
et
int compare_prix (Medicament m1, Medicament m2)
Manip 2
Implémenter la classe Test qui contient la méthode principale main.
(1) Créer un tableau de trois médicaments appelé tab_medocs. Remplir le
tableau par une boucle for. Les attributs des médicaments doivent être
saisis au clavier.
(3) Trier le tableau en appelant la méthode compare_prix(). Afficher le
tableau avant et après tri.
(4) trier le tableau en appelant la méthode prédéfinie [Link].
Manip 3
Dans la classe Test,
(1) Créer une liste de médicaments appelée listeMedocs. Remplir la liste par
les médicaments suivants:
"Augmentin" "Antibiotique" 9dt
"Efferalgan" "Paracetamol" 6.3 dt
"Ferplus" "vitamines" 29.3 dt
"ForCapill" "vitamines" 16.3 dt 90466636
(2) trier la liste suivant l'ordre alphabétique des médicaments.
(3) trier la liste suivant le prix des médicaments
(4) Afficher les médicaments dont le nom commence par "F".