100% ont trouvé ce document utile (4 votes)
9K vues4 pages

Examen Java

Ce document décrit un examen de conception orientée objet et programmation Java. Il présente des classes à compléter pour la gestion d'une université, notamment les classes Etudiant, EnsembleEtudiants et Université. 18 parties doivent être complétées en utilisant les méthodes et API Java appropriées.

Transféré par

Fakhri Arfaoui
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
100% ont trouvé ce document utile (4 votes)
9K vues4 pages

Examen Java

Ce document décrit un examen de conception orientée objet et programmation Java. Il présente des classes à compléter pour la gestion d'une université, notamment les classes Etudiant, EnsembleEtudiants et Université. 18 parties doivent être complétées en utilisant les méthodes et API Java appropriées.

Transféré par

Fakhri Arfaoui
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

Anne Universitaire : 2015-2016

Examen Java
Module : Conception oriente objet et programmation Java

Documents autoriss : Non

Enseignants : Equipe Java

Nombre de pages : 4

Date : 08/01/2015
Classes : 3INFO A, 4INFINI

Heure : 11:30

Dure : 1h30
Session : Principale

GESTION DUNE UNIVERSITE


Nous souhaitons dvelopper une application simplifie de gestion dune universit. Pour raliser
notre application, nous vous demandons de complter les classes prsentes ci-dessous.
Les parties complter sont numrotes de 1 18.
Vous devez mettre dans vos copies le numro correspondant chaque code ajout //TODO XX :
Vous devez mettre TOUTE la mthode complter y compris la signature.

Travail demand :
En prcisant le numro de chaque partie ajouter :
1) Compltez la classe Etudiant avec les mthodes equals, hashCode et toString, deux tudiants sont
gaux en cas dgalit de leur cin et nom. // TODO 1 //.
2) Compltez la classe EnsembleEtudiant regroupant un ensemble dEtudiants dans un HashSet.
Compltez les mthodes de cette classe sachant quelle implmente linterface IEtudiantService. //
TODO 2 -> TODO 10 //

3) Compltez la classe Universit qui regroupe pour chaque Classe lensemble de ses Etudiants dans
un HashMap. // TODO 11 -> TODO 18 //
Remarque 1 : On suppose que la classe Classe contient dj les mthodes equals, hashCode et
toString. Deux Classes sont gales en cas dgalit de leurs libells.
Remarque 2 : Toutes les classes sont prsentes dans lANNEXE ci-dessous.

ANNEXE :
public class Etudiant {
private String nom;
private int cin;
private int age;
private double moyenne;
public Etudiant() {
}
public Etudiant(String nom, int cin,
int age, double moyenne) {
this.nom = nom;
this.cin = cin;
this.age = age;
this.moyenne = moyenne;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public int getCin() {
return cin;
}

public void setCin(int cin) {


this.cin = cin;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getMoyenne() {
return moyenne;
}
public void setMoyenne(double moyenne)
{
this.moyenne = moyenne;
}
// TODO 1 - complter //
/* equals, hashCode et toString */
(1 point) (0,5 point) (0,5 point)
}

Page 1/4

public interface IEtudiantService<T> {


public void ajouterEtudiant(T t);
public void supprimerEtudiant(T t);
public boolean chercherEtudiant(Etudiant e);
public boolean chercherEtudiant(int cin);
public void afficher();
public TreeSet<Etudiant> trierEtudiantsNom();
}

public class EnsembleEtudiants // TODO 2 - complter // (0,5 point)


{
public Set<Etudiant> etudiants;
public EnsembleEtudiants() {
// TODO 3 - complter // (0,5 point)
}
@Override
public void ajouterEtudiant(Etudiant e) {
// TODO 4 - complter // (0,5 point)
}
@Override
public void supprimerEtudiant(Etudiant e) {
// TODO 5 - complter // (0,5 point)
}
@Override
public boolean chercherEtudiant(Etudiant e) {
// TODO 6 - complter // (0,5 point)
}
@Override
public boolean chercherEtudiant(int cin) {
// TODO 7 - complter // (1 point)
/* avec l'API stream */
}
@Override
public void afficher() {
// TODO 8 - complter //
/* avec l'API stream */ (1 point)
}
@Override
public TreeSet<Etudiant> trierEtudiantsNom() {
// TODO 9 - complter Trier par nom//
/* avec l'API stream */ (1,5 point)
}
public double sommeDesMoyennes() {
// TODO 10 - complter//
/* avec l'API stream */ (2 points)
}
}

Page 2/4

public class Classe {


private String libelle;
private int capacite;
public Classe(String libelle, int capacite) {
this.libelle = libelle;
this.capacite = capacite;
}
public String getLibelle() {
return libelle;
}
public void setLibelle(String libelle) {
this.libelle = libelle;
}
public int getCapacite() {
return capacite;
}
public void setCapacite(int capacite) {
this.capacite = capacite;
}
}

public class University {


private String nom;
private Map<Classe, EnsembleEtudiants> map;
public University() {
// TODO 11 - complter // (0,5 point)
}
public void ajouterClasse(Classe c) {
// TODO 12 - complter // (0,5 point)
}
public void ajouterEtudiant(Etudiant e, Classe c) {
// TODO 13 - complter // (1,5 point)
}
public void deplacerEtudiant(Etudiant e, Classe classeDestination) {
// TODO 14 - complter // (1 point)
/* l'tudiant doit tre supprim de sa premire classe */
}
public void permuterEtudiant(Etudiant e1, Etudiant e2) {
// TODO 15 - complter // (2 points)
/* les deux tudiants doivent exists */
}
public void afficherUniversity() {
// TODO 16 - complter // (1 point)
/* Utiliser Lambda Expression ou API Stream */
}
public void afficherNomEtudiantsAge(Classe c) {
// TODO 17 - complter// (1,5 point)
/* avec l'API stream */
Page 3/4

/* Afficher les noms des tudiants d'une classe dont leur ge >20 et
<23 */
}
public List<Etudiant> meilleursEtudiants() {
// TODO 18 - complter// (2 points)
/* avec l'API stream */
/* Retourner les dix premiers tudiants selon
leurs moyennes dans une liste */
}
}

Page 4/4

Vous aimerez peut-être aussi