0% ont trouvé ce document utile (0 vote)
28 vues4 pages

Java-TP4 - Classes Abstraites Interfaces Collections - 2024

Transféré par

amira.trabelssi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues4 pages

Java-TP4 - Classes Abstraites Interfaces Collections - 2024

Transféré par

amira.trabelssi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’Enseignement Supérieur Institut Supérieur d’Informatique

et de Recherche Scientifique

P.O.O (Java)
TP4

Exercice 1 (les collections) :


1. public static Iterator<String> reverse(List<String> list) {
2. Collections.reverse(list);
3. return list.iterator(); }
4. public static void main(String[] args) {
5. List list = new ArrayList();
6. list.add("1");
7. list.add("2");
8. list.add("3");
9. for (Object obj: reverse(list))
10. System.out.print(obj + ", ");
11. }

Exercice 2 (les collections) :

On souhaite gérer les notes d’un étudiant. Chaque étudiant sera défini par la classe
Etudiant et devra présenter les informations suivantes :
• un matricule;
• un nom;
• une liste de notes (de taille indéfinie).
Une classe Note permettra de contenir pour chaque cours, l'intitulé du cours ainsi que
la note obtenue. Les Notes de chaque étudiant seront stockées dans une ArrayList.
Une méthode addNote permettant d'ajouter une note à l'étudiant concerné.

Exercice 3 (les collections) :

Réaliser un programme Java qui définit une Map permettant la sauvegarde les villes
d’un gouvernorat. Exemple, les villes du gouvernorat Tunis sont : Bab Khadra, Bab
Souika, Bab Jdid, Bardo, etc. Le programme doit afficher la liste des villes de chaque
gouvernorat.

Voici la déclaration de la Map à utiliser : Map<String,String[]> m = new HashMap<>()

1/4 A.U. 2024/2025


Ministère de l’Enseignement Supérieur Institut Supérieur d’Informatique
et de Recherche Scientifique

Exercice 4 (les collections) :


Créer un programme java contenant les classes suivantes :

• Classe Employe qui contient les attributs suivants : nom, prenom, nationalite
(Tunisienne, Marocaine et Française), salaire, fonction (sans-fonction, chef de
service, sous-directeur et directeur).

• Classe Test qui contient la main et une liste de type ArrayList contenant des
objets de type Employe. Utiliser les méthodes forEach(), stream() et filter() de
la classe ArrayList afin d’afficher :

o Tous les employés

o Les employés ayant la nationalité Tunisienne

o Les employés ayant un salaire supérieur à 1000DT

o Les directeurs

Exercice 5 (les collections) :


1. import java.util.*;
2. public class WrappedString {
3. private String s;
4. public WrappedString(String s) { this.s = s; }
5. public static void main(String[] args) {
6. HashSet<Object> hs = new HashSet<Object>();
7. WrappedString ws1 = new WrappedString("aardvark");
8. WrappedString ws2 = new WrappedString("aardvark");
9. String s1 = new String("aardvark");
10. String s2 = new String("aardvark");
11. hs.add(ws1); hs.add(ws2); hs.add(s1); hs.add(s2);
12. System.out.println(hs.size());

}}

Exercice 6 (classe abstraite) :


Créer la classe abstraite « Personne» dans le package « mere » avec les attributs
suivants sans modificateur : int id (incrémentation automatique), String prenom, String
nom, String email et double salaire. De plus, la classe Personne contient la méthode
abstraite calculerSalaire().
1. Créer les classes «Developpeur» et «Manager» dans le package «fille ». Elles
héritent la classe Personne.

2/4 A.U. 2024/2025


Ministère de l’Enseignement Supérieur Institut Supérieur d’Informatique
et de Recherche Scientifique

2. Qu’est-ce que vous remarquez ? Comment régler le problème.


3. Redéfinir la méthode calculerSalaire() de la classe Personne sachant que :
• Le développeur aura une augmentation de 20% par rapport à son salaire
normal.
• Le manager aura une augmentation de 35% par rapport à son salaire normal.
4. Créer deux développeurs et deux managers.
5. Afficher les informations des objets crées sous la forme :
Le salaire du Manager Sassi Fatma est 2160.0 DT et son service est
Finance
Le salaire du Manager Tounsi Ahmed est 1620.0 DT et son service
est Comptabilité
Le salaire du Developpeur Abdi Mounir est : 2400.0 DT et sa
spécialité : JAVA
Le salaire du Developpeur Felhi Sana est : 3600.0 DT et sa
spécialité : Spring Boot
6. Afficher les informations des objets ayant un compte gmail.
7. Créer un objet de type Personne. Qu’est-ce que vous remarquez ?

Exercice 7 (classe abstraite ou interface) :


Ecrire les classes et/ou les interfaces nécessaires au fonctionnement du programme
suivant (en ne fournissant que les méthodes nécessaires à ce fonctionnement) :
package exercice3;
public class TestMetiers {
public static void main(String[] argv) {
Personne[] personnes = new Personne[3];
personnes[0] = new Menuisier("Samir", 8); // nom et année d’expérience
personnes[1] = new Plombier("Fathi", 15);
personnes[2] = new Menuisier("Nizar", 16);
System.out.println("La liste de toutes les personnes :");
for (Personne p : personnes) {
p.affiche();
}
System.out.println("\nLa liste des personnes ayant au moins 10 ans
d'éxpérience :");
for (Personne p : personnes) {
p.affichePlus10();
}
}
}

3/4 A.U. 2024/2025


Ministère de l’Enseignement Supérieur Institut Supérieur d’Informatique
et de Recherche Scientifique

Exemple d’exécution :
La liste de toutes les personnes :
Je suis Samir. Je travaille en tant que Menuisier
Je suis Fathi. Je travaille comme Plombier
Je suis Nizar. Je travaille en tant que Menuisier

La liste des personnes ayant au moins 10 ans d'expérience :


Je suis Fathi. J'ai 15 ans d'expérience.
Je suis Nizar. J'ai 16 ans d'expérience.

Remarque : l’objet de type « Personne » contient les données suivantes : le nom et le


nombre d’année d’expérience d’une personne.

Exercice 8 (classe abstraite ou interface) :


Ecrire les classes et/ou les interfaces nécessaires au fonctionnement du programme
suivant (en ne fournissant que les méthodes nécessaires à ce fonctionnement) :
package exercice3;
import java.text.DecimalFormat;
public class TestFormes {
public static void main(String[] argv) {
DecimalFormat df = new DecimalFormat(".0");
Forme[] figures = new Forme[3];
figures[0] = new Carre(6);
figures[1] = new Cercle(5);
figures[2] = new Carre(3);
for (int i = 0; i < figures.length; i++)
System.out.println("La surface de " +figures[i] + "
est égal à "
+ df.format(figures[i].calculerSurface()) + " cm2");
}
}

Exemple d’exécution :
La surface de Carré qui a la coté 6.0 cm est égal à 36,0 cm2
La surface de Cercle qui a le rayon 5.0 cm est égal à 78,5 cm2
La surface de Carré qui a la coté 3.0 cm est égal à 9,0 cm2

Remarque : l’objet de type Forme ne contient aucun attribut.

4/4 A.U. 2024/2025

Vous aimerez peut-être aussi