UPPA - Année universitaire 2015-2016 Département informatique

UPPA - Année universitaire 2015-2016
Département informatique
Licence informatique 3e année
Franck.Barbier@FranckBarbier.com
Examen de 2e session TOO
Vous n'avez droit à AUCUN document - Répondez sur cette feuille
Soit le programme Java présenté en fin de page.
Question 1 (6 points)
Comparable<T> est une entité prédéfinie de la librairie Java utilisée pour définir Etudiant_L3_info. Cette entité est
1
:
Une annotation
Une classe
Une interface
Une classe abstraite
Une interface finale
Un type générique
Une méthode générique
Question 2 (6 points) : bien que le programme fonctionne ('2' est affiché à la dernière instruction du programme), montrez où
se trouve la faille principale du programme (indiquez clairement l’endroit en le surlignant ou l’encadrant) et comment y
remédier.
Question 3 (8 points) : après quelques recherches sur Internet, on apprend que la classe String de Java implémente
Comparable<String>. Proposez une solution pour (encore mieux) remédier à la faille identifiée dans la Question 2.
class Etudiant_L3_info implements Comparable<Etudiant_L3_info> {
private String _numero_etudiant_UPPA;
public Etudiant_L3_info(String numero_etudiant_UPPA) {
_numero_etudiant_UPPA = numero_etudiant_UPPA;
}
public int compareTo(Etudiant_L3_info e) {
// On teste si 2 chaînes de caractères sont égales :
if (this._numero_etudiant_UPPA == e._numero_etudiant_UPPA) {
return 0;
}
// On teste si la chaîne de caractères 'this._numero_etudiant_UPPA' est avant 'e._numero_etudiant_UPPA'
dans l'ordre alphabétique :
if (String.CASE_INSENSITIVE_ORDER.compare(this._numero_etudiant_UPPA, e._numero_etudiant_UPPA) < 0) {
return -1;
}
return 1;
}
}
public class Examen {
public static void main(String[] args) {
Etudiant_L3_info Bruno = new Etudiant_L3_info("MC2");
Etudiant_L3_info Franck = new Etudiant_L3_info("PREx1");
java.util.TreeMap<Etudiant_L3_info, Integer> notes_TOO_2_session_2016 = new java.util.TreeMap<>();
1
Attention, plusieurs cases peuvent être cochées voire zéro.
notes_TOO_2_session_2016.put(Bruno, 18);
notes_TOO_2_session_2016.put(Franck, 2);
System.out.println(notes_TOO_2_session_2016.size()); // '2' est affiché
}
}
Question 2, code corrigeant la faille identifiée :
Question 3, code corrigeant la faille identifiée :
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !