Association Professeur / Spécialité
Objectifs :
- Création des classes et objets.
- Utilisation les méthodes de la classe String.
- Manipulation des tableaux d'objets.
- Traduction d'une association entre les classes.
Énoncé :
Soit le diagramme de classe suivant :
- Développer la classe Spécialité et la classe Professeur dans le package « ma.exelib.ecole».
Chaque classe doit comporter :
- Un constructeur d’initialisation ;
- Les accesseurs ;
- La méthode toString.
NB : l’identifiant est auto incrément.
- Développer une classe de test dans le package « ma.exelib.ecole.test».
Dans la classe de test créer :
- 5 Spécialités:
- JAVA/JEE
- .net
- Gestion de projet
- CISCO
- PHP
- 4 Professeurs: Les deux premiers enseignent JAVA/JEE les deux autres enseignent CISCO.
- Afficher la liste des professeurs par spécialité:
Exemple :
Spécialité JAVA/JEE
- SAFI Amal safi [AT] gmail [DOT] com
- ALAMI Said alami [AT] yahoo [DOT] fr
Spécialité CISCO
- ALAOUI Reda alaoui [AT] yahoo [DOT] fr
- KAMALI Imane i [DOT] kamali [AT] gmail [DOT] com
Le nom de professeur doit être en majuscule, le prénom doit commencer par une lettre en majuscule et les autres lettres doivent être en minuscule.
Professeur par spécialité :
Spécialité JAVA/JEE
-SAFI Salim safi [AT] gmail [DOT] com
-RASHIDI Mohamed rashidi [AT] gmail [DOT] com
Spécialité .net
Aucun professeur dans cette spécialité
Spécialité Gestion de projet
Aucun professeur dans cette spécialité
Spécialité CISCO
-RAMI Amal rami [AT] gmail [DOT] com
-SIMON Thomas simon [AT] gmail [DOT] com
Spécialité PHP
Aucun professeur dans cette spécialité
Structure de projet
La classe Spécialité
package ma.exelib.projet.ecole; public class Specialite { private int id; private String code; private String libelle; private static int count; public Specialite(String code, String libelle) { this.id = ++count; this.code = code; this.libelle = libelle; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getLibelle() { return libelle; } public void setLibelle(String libelle) { this.libelle = libelle; } public static int getCount() { return count; } public static void setCount(int count) { Specialite.count = count; } public String toString() { return "Spécialité "+ this.libelle; } }
La classe Professeur
package ma.exelib.projet.ecole; public class Professeur { private int id; private String nom; private String prenom; private String telephone; private String email; private Specialite specialite; private static int count; public Professeur(String nom, String prenom, String telephone, String email, Specialite specialite) { this.id = ++count; this.nom = nom; this.prenom = prenom; this.telephone = telephone; this.email = email; this.specialite = specialite; } public int getId() { return id; } public void setId(int id) { this.id = ++count; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Specialite getSpecialite() { return specialite; } public void setSpecialite(Specialite specialite) { this.specialite = specialite; } public String toString() { return "-" + this.nom.toUpperCase() + " " + this.prenom.substring(0, 1).toUpperCase() + "" + this.prenom.substring(1).toLowerCase() + " " + this.email; } }
La classe de Test
package ma.exelib.projet.ecole.test; import ma.exelib.projet.ecole.Professeur; import ma.exelib.projet.ecole.Specialite; public class Test { public static void main(String[] args) { Specialite[] specialites = new Specialite[5]; // Création des spécialités specialites[0] = new Specialite("S1", "JAVA/JEE"); specialites[1] = new Specialite("S2", ".net"); specialites[2] = new Specialite("S3", "Gestion de projet"); specialites[3] = new Specialite("S4", "CISCO"); specialites[4] = new Specialite("S5", "PHP"); // Création des professeurs Professeur professeurs[] = new Professeur[4]; professeurs[0] = new Professeur("Safi", "salim", "0656787567", "safi [AT] gmail [DOT] com", specialites[0]); professeurs[1] = new Professeur("Rami", "amal", "0654487567", "rami [AT] gmail [DOT] com", specialites[3]); professeurs[2] = new Professeur("Rashidi", "Mohamed", "0656777567", "rashidi [AT] gmail [DOT] com", specialites[0]); professeurs[3] = new Professeur("Simon", "thomas", "0654445567", "simon [AT] gmail [DOT] com", specialites[3]); // Professeur par spécialité System.out.println("Professeur par spécialité : "); for (Specialite s : specialites) { System.out.println("\t" + s); int etat = 0; for (Professeur p : professeurs) { if (p.getSpecialite().getId() == s.getId()) { System.out.println("\t\t" + p); etat = 1; } } if (etat == 0) { System.out.println("\t\tAucun professeur dans cette spécialité"); } } } }
Sélectionnez le fichier à afficher.
|
Nom | Taille | Clics | Téléchargements |
Gestion_Professeur.zip | 8.54 Ko | 2440 | Télécharger |