100% ont trouvé ce document utile (1 vote)
100 vues3 pages

Examen JAVA : Classes et Méthodes

Le document présente deux exercices en Java. Le premier concerne la manipulation d'objets à partir d'un diagramme de classes fourni. Le second concerne l'implémentation d'un diagramme de classes pour effectuer des opérations mathématiques.

Transféré par

Mohamed Elyousfi
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 (1 vote)
100 vues3 pages

Examen JAVA : Classes et Méthodes

Le document présente deux exercices en Java. Le premier concerne la manipulation d'objets à partir d'un diagramme de classes fourni. Le second concerne l'implémentation d'un diagramme de classes pour effectuer des opérations mathématiques.

Transféré par

Mohamed Elyousfi
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

Enset de Mohammedia GLSID 2ème année / GLBDCC 2ème année

Examen en JAVA – partie 1


Exercice 1 :
Soit le diagramme de classe suivant :

Et soit le Programme suivant :

public class Program {


public static void main(String[] args) {
[Link]("Task1----------------------");
new EtudiantDB();
[Link]([Link](2));
[Link]("Task2----------------------");
new MatiereDB();
[Link]([Link](1));
[Link]("Task3----------------------");
Etudiant et1=[Link](1);
Etudiant et2=[Link](2);
Matiere mat1=[Link](1);
Matiere mat2=[Link](2);
Note note1=new Note(et1, mat1, 14);
Note note2=new Note(et1, mat2, 15);
Note note3=new Note(et2, mat1, 13);
Note note4=new Note(et2, mat2, 12);
[Link]("Task4----------------------");
NoteDB nbd=new NoteDB();
[Link](note1);
[Link](note2);
[Link](note3);
[Link](note4);
[Link](nbd);
}

1
}

Le constructeur de la classe EtudiantDB est le suivant :

public EtudiantDB(){
[Link](1, new Etudiant(1, "AA", "AAA"));
[Link](2, new Etudiant(1, "BB", "BBB"));
[Link](3, new Etudiant(1, "CC", "CCC"));
[Link](4, new Etudiant(1, "DD", "DDD"));
}

Le constructeur de la classe MatiereDB est le suivant :


public MatiereDB(){
[Link](new Matiere(1, "Java", 0.6));
[Link](new Matiere(2, "UML", 0.4));

Question 1 :
Sans modifier le code fourni,

Compléter l’implémentation de manière à se référer au diagramme de classes et


au Programme fourni pour obtenir le résultat suivant :

Question 2 :
Proposer une solution pour afficher le résultat par ordre décroissant de note.

2
Exercice 2 :
Soit le diagramme de classes suivant :

Soit la classe Program suivante ayant le main qui montre une utilisation du
diagramme ci-dessus

public class Program {


public static void main(String[] args) {
Calcul c=new Calcul();
[Link]([Link](1, 4, '*'));//1*2*3*4=24
[Link]([Link](2, 6, '+'));//2+3+4+5+6=20
[Link]([Link](4, 1, '*'));//1*2*3*4=24
[Link]([Link](6, 2, '+'));//2+3+4+5+6=20

}
}

1. Implémenter le diagramme de classes ci-dessus pour donner le même résultat montré en


commentaire
2. Implémenter la méthode doOperation(int a,int b) de Sum sachant qu’elle doit calculer la somme
des entiers entre a et b (a et b incluses)
3. Implémenter la méthode doOperation(int a,int b) de Multipliy sachant qu’elle doit calculer la
multiplication des entiers entre a et b (a et b incluses)
4. Le constructeur de la classe Context doit initialiser l’attribut Operation
5. Implémenter la méthode executeOperation(int a,int b) sachant qu’elle fait appel à doOperation(a,b)
sur la référence de Sum ou Multiply (selon l’opérateur)
6. Implémenter la méthode getResult(int a,int b,char c) de la classe Calcul qui fait appel à
executeOperation(int a,int b).
Si c=’+’ alors la méthode doOperation(a,b) de Sum qui sera exécutée et c=’*’ alors la méthode
doOperation(a,b) de Multiply qui sera exécuté.

Vous aimerez peut-être aussi