0% ont trouvé ce document utile (0 vote)
46 vues2 pages

Devoir de Programmation Orientée Objet

Ce document décrit un devoir sur la programmation orientée objet avancée. Il contient deux exercices, le premier demande d'analyser la sortie d'un programme Java gérant les exceptions, et le second concerne la manipulation d'employés dans des collections.

Transféré par

Mayssa jbali
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
0% ont trouvé ce document utile (0 vote)
46 vues2 pages

Devoir de Programmation Orientée Objet

Ce document décrit un devoir sur la programmation orientée objet avancée. Il contient deux exercices, le premier demande d'analyser la sortie d'un programme Java gérant les exceptions, et le second concerne la manipulation d'employés dans des collections.

Transféré par

Mayssa jbali
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

 

DEVOIR  SURVEILLE  
 PROGRAMMATION  ORIENTEE  OBJET  AVANCEE  
Niveau  :  2ème  année  DSI/RSI   Date  :  21  avril  2016  
  Nombre  de  pages  :  2   Durée  :  1  h  
Il  vous  est  demandé  d’apporter  un  soin  particulier  à  la  présentation  de  votre  copie.  
 
Exercice  1  
1. Donner  la  sortie  du  programme  suivant  :  
package ds2016;
class Test {
public static void main(String[] args) {
try {
System.out .println("Avant a");
a();
System.out .println("Apres a");
} catch (Exception e) {
System.out .println("main : " + e);
}
finally {
System.out .println(" main : finally");
}
}
public static void a() {
try {
System.out .println("Avant b");
b();
System.out .println("Apres b");
} catch (IndexOutOfBoundsException e) {

System.out .println("a : index hors limite");


}
finally {
System.out .println("a : finally");
}
}
public static void b() {
try {
int tab[] = new int[4];
tab[10] = 10 / 3;
}

catch (ArithmeticException e) {
System.out .println("b : Erreur de calcul");
}
finally {
System.out .println("b : finally");
}
}
}

  1  
 

 
2. Soit  la  classe  ListeNombres  comme  suit  :  
package  ds2016;  
 
public class ListeNombres {

private int[] tableau;


private static final int MAX_NB = 10;

public void vérifier() {


try{
System.out .println("Debut du bloc try");
int i;
for(i=0;i <= MAX_NB ; i++){
if ((tableau[i]/i) == 2)
break;
}
if(i < MAX_NB )
System.out .println("Ordre incorrect!");
}
catch(……… e) { }
catch(……… e) { }
}
}  
 
a) Compléter  chacun  des  blocs  catch  pour  capturer  les  exceptions  possibles  
b) Compléter  le  code  pour  afficher  le  message  «  Fin  de  vérification  »  dans  tous  les  cas  de  figures.  
 
Exercice  2  
Soit  une  classe  «  Employe  »  avec  :  
• Attributs  matricule  (int),  nom  (String)  et  service  (String).  
• Constructeur  paramétré  :  public  Employe(int  matricule,  String  nom,  String  service)    
• Accesseurs  et  mutateurs.  
• Méthode  toString()  qui  retourne  une  chaine  représentant  l’employé.  
Dans  ce  qui  suit  le  code  de  la  classe  Employe  est  supposé  fourni  et  à  ne  pas  coder  dans  votre  réponse.  
 
1. Créer   une   classe   GestionEmployes   permettant   de   manipuler   ces   employés   dans   une  
collection  ArrayList  et  offrant  les  méthodes  suivantes  :  
a. boolean   ajouterEmploye(Employe   e)  :   ajout   avec   vérification   si   cet   employé   est   déjà  
exitstant.  
b. void  afficher()  :  afficher  les  employé  à  l’aide  d’un  Iterator.  
2. Donner  les  opérations  nécessaires  pour  pouvoir  utiliser  :  
a. Une   TreeSet   au   lieu   du   ArrayList   sachant   que   les   employés   seront   triés   suivant   leurs  
matricules  et  que  2  employés  sont  égaux  s’ils  ont  le  même  matricule.  
b. un   HashMap  au  lieu  du  ArrayList,  sachant  que  la  clé  utilisée  est  le  matricule.  

  2  

Vous aimerez peut-être aussi