Vous êtes sur la page 1sur 8

Examen

Semestre : 1 2

Session : Principale Rattrapage

VERSION A
Unité d’enseignement : Modélisation et programmation objet
Module (s) : Conception orientée objet et programmation Java
Classe(s) : 3A

Nombre des questions : 30 Nombre de pages :8

Date : 19/01/2022 Heure:11h00. Durée :1H 30

1. Laquelle des opérations ci-dessous est interdite en Java ?


o A. Le upcasting implicite
o B. Le upcasting explicite
o C. Le downcasting implicite
o D. Le downcasting explicite

2. Soit le code suivant relatif aux classes FatherDuck et Duckling. Quel est le résultat de
ce code ?

A. Erreur de compilation pour Line 5:


B. Erreur de compilation pour Line 8:
C. Erreur de compilation pour Line 15:
D. Erreur d’exécution

1
3. Quelle instruction nous permet de vérifier l'existence d’un joueur par son numéro ?
o A. joueurs.stream().allMatch(e->e.getNum()==num);
o B. joueurs.stream().contains(e->e.getNum()==num);
o C. joueurs.stream().findAny(e->e.getNum()==num);
o D. joueurs.stream().anyMatch(e->e.getNum()==num);

4. Quel est l’instruction qui nous permet de retourner la moyenne des salaires :
o A. double average= employees.stream().mapToInt(e->e.getSalary())
.average().getAsDouble();
o B. double average = employees.stream().mapToInt(e -> e.getSalary()).avg();
o C. double average = employees.stream().mapToInt(e -> e.getSalary()).average();
o D. doublefaverage=femployees.stream().map(e->e.getSalary())
.average().getAsDouble();

5. Quel est le résultat de l’exécution de ce programme ?

o A. 1,9,8,7,7,8,9
o B. Déclenchement d’une exception de type « ArrayIndexOutOfBounds Exception »
o C. 9,8,7,9,8,7,1
o D. L’affichage des éléments du tableau arr1 sans doublons

6. Que fait l’instruction suivante ?

o A. Erreur de compilation
o B. Affiche une chaîne de caractères qui regroupe tous les salaires des employés
o C. Affiche la somme des salaires de tous les employés multiplié par 200
o D. Affiche la somme des salaires de tous les employés en ajoutant 200

2
7. Soit la classe “Etudiant” qui contient la méthode “equals” et “hashCode” qui
dépendent de l’identifiant
Que se passe-t-il lors de l'exécution?

o A. Une exception à l'exécution


o B. Le programme fonctionne correctement
o C. Erreur car Etudiant doit avoir un constructeur non paramétré
o D. Erreur de compilation

8. Le résultat de ce code est:

o A. Erreur d'exécution
o B. Erreur de compilation car on n' a pas implémenté les méthodes hashCode et equals
o C. Affichage de : compare …
o D. Affichage de : compareTo …

9. Soit « etudiants » un HashSet de « Etudiant » , pour que la méthode rechercheEtudiant


return true pour deux étudiants qui ont le même nom il faut :

o A. Implémenter equals et hashCode


o B. Implémenter compareTo
o C. Implementer equals suffit
o D. Aucune de ces réponses n’est vraie

3
10. Pour que « c » soit trié il faut :

o A. Que la classe Voiture implémente Comparable


o B. Que la classe Voiture implémente Comparator
o C. Ce code suffit
o D. Aucune réponse n’est correcte

11. Quel est le résultat de ce qui suit ?

o A. Affiche “3”.
o B. Le code compile mais lève une exception au moment de l'exécution.
o C. Affiche “1”
o D. Erreur de compilation.

12. Quel est le résultat de ce qui suit ?

o A. 1 1
o B. Le code ne compile pas à cause de la ligne x.
o C. 2 3
o D. 1 3

13. En Java, une classe de collection implémentant List:


o A. ses éléments ne sont pas indexés
o B. peut contenir plusieurs fois le même objet
o C. utilise la méthode equals() lors de l’ajout d’un nouvel élément.
o D. peut contenir des variables primitives( int, char, .... ).

14. Une interface fonctionnelle peut contenir


o A. Une seule méthode abstraite et plusieurs méthodes concrètes
o B. Aucune méthode abstraite et une seule méthode concrète
o C. Plusieurs méthodes abstraites et une seule méthode concrète
o D. Seulement des constantes et une méthode concrète.

4
15. Quelle déclaration étant impossible/incorrecte :
o A. Collection<Produit> x = new ArrayList<Produit>() ;
o B. Map<Produit> x = new HashMap<Produit>() ;
o C. List<Produit> x = new Vector<Produit>() ;
o D. Set <Produit> x = new HashSet <Produit>() ;

16. Parmi les expressions suivantes, laquelle n’est pas une expression lambda valide?
o A. () -> {}
o B. () -> 10/0
o C. (Integer i) -> {return “Aziz”;}
o D. (Integer i) -> return 2*i;

17. Soit prod une liste de produits (List<Produit>) :


Quelle instruction permet de retourner les éléments triés
o A. prod.stream().sorted((a, b) -> a.getPrix() - b.getPrix()).forEach((e)->System.out.println(e)); 
o B. prod.stream().sorted((a, b) -> a.getPrix() - b.getPrix()) . collect(Collectors.toSet());
o C. prod.stream().collect(Collectors.toCollection(()-> new TreeSet<Produit>((a,b)->a.getPrix -
b.getPrix())))
o D.prod.stream().sort().collect(Collectors.toCollection(()->newTreeSet<Produit>((a,b)->
a.getPrix - b.getPrix())))

18. Quelle est la sortie de ce programme ?

o A. Area{id=1, name=Area 1} Animal{id=1, age=2, type=Lion}


o B. Area{id=1, name=Area 1} Animal{id=2, age=5, type=Tigre}
o C.Area{id=1, name=Area 1} Animal{id=1, age=2, type=Lion} Animal{id=2, age=5,
type=Tigre}
o D. Erreur de compilation

5
19. Quel est la sortie du code suivant ?

o A. Querty azerty test


o B. azerty test Querty
o C. Erreur de compilation
o D. Erreur d’exécution

20. Que va être la sortie de ce programme

o A. Erreur d'exécution
o B. Erreur de compilation
o C. {voiture=MERCEDES},{voiture=BMW}
o D. {voiture=MERCEDES},{car=MERCEDES}

21. Quelle est la sortie de ce programme

o A. true | true
o B. false| false
o C. true | false
o D. false| true

22. La méthode hashCode est définie initialement dans la classe :


o A. Object
o B. HashSet
o C. Integer
o D. Aucune réponse

6
23. Quelle est la sortie de ce programme

o A. true
o B. false
o C. Erreur de compilation
o D. Erreur d’exécution

24. Qui n’implémente PAS l’interface Collection?


o A. ArrayList
o B. HashMap
o C. HashSet
o D. Vector

25. Quelle est la sortie de ce programme

o A. 0
o B. 1
o C. true
o D. false

26. Soit la classe “Car” qui contient deux attributs, “int rank” et “String serialNumber”,
on veut stocker des “Car” dans un TreeSet
TreeSet<Car> cars = new TreeSet<Car>(______________);
remplacez le champ vide avec la bonne réponse sachant que la class “Car”
n'implémente pas “Comparable”, et qu’on veut que les “Car” soient triés par
“serialNumber”
o A. (x, y) -> x.getSerialNumber().compareTo(y.getSerialNumber())
o B. (x, y) -> x.getSerialNumber().compare(y.getSerialNumber())
o C. (x, y) -> x.getSerialNumber()-y.getSerialNumber()
o D. On peut laisser le constructeur vide

7
27. Que permet d’afficher ce bout de code

o A. false true true


o B. true true 2
o C. false 1
o D. false true true 1 2

28. Quelle est la bonne réponse pour afficher les clés de la map
o A. for (Map.Entry < Player, Team > e: map.entryKey()) {
System.out.println(e.getKey());}
o B. for ( Player e : map.Keys()) {
System.out.println(e.getKey() ); }
o C. for ( Player e : map.keySet()) {
System.out.println(e);}
o D. map.stream().forEach((e) -> {System.out.println(e.getKey() ); });

29. Comment on peut récupérer le vol v auquel associé un passager p depuis un


Map<Passager,Vol> map = new HashMap<>()
o A. Vol v = map.getValue(p);
o B. Vol v = map.contains(p);
o C. Vol v= map.get(p);
o D. Vol v = map.entrySet(p).getValue();

30. Soit le code suivant :

o A. Ce code ne pourra pas être compilé parce que la méthode doYourJob() doit être
définie en tant qu’abstraite dans l’interface Guard. les méthodes dans les interfaces sont
tout le temps en tant que abstraite
o B. Ce code ne pourra pas être compilé parce que la classe Dog doit implémenter la
méthode doYourJob() à partir de l’interface Guard. ceci n’est pas correct car Dog est une
classe abstraite
o C. Ce code ne pourra pas être compilé parce que dans la déclaration de la classe Dog il
faut utiliser le terme extends à la place de implements
o D. Ce code pourra être compilé sans aucun problème.

Vous aimerez peut-être aussi