Université de Blida 1 Faculté des Sciences Département d’informatique
Master 1 IL 2ème semestre 2024/2025
Programmation Orientée Objet Avancée
– TD 2 –
Exercice 1 :
Que fait ce programme ?
class Positif {
public Positif (int n) throws ErrConst{
if (n<=0) throw new ErrConst() ;
}
}
class ErrConst extends Exception{}
public class TstPos{
public static void main (String args[]){
System.out.println ("debut main") ;
Scanner scan = new Scanner(System.in);
boolean ok = false ;
while (!ok)
{ try{
System.out.print ("donnez un entier positif : ") ;
int n = scan.nextInt() ;
Positif ep = new Positif (n) ;
ok = true ;
}
catch (ErrConst e){
System.out.println ("*** erreur construction ***") ;
}
}
System.out.println ("fin main") ;
}
Exercice 2 :
Quel résultat fournit le programme suivant ?
class Erreur extends Exception {}
class A{
public A(int n) throws Erreur{
if (n==1) throw new Erreur() ;
}
}
public class Chemin2{
public static void main (String args[]){
f(true) ; System.out.println ("apres f(true)") ;
f(false) ; System.out.println ("apres f(false)") ;
}
public static void f(boolean ret){
try{
A a = new A(1) ;
}
catch (Erreur e){
System.out.println ("** Dans f - exception Erreur " ) ;
if (ret) return ;
}
System.out.println ("suite f") ;
}
}
Exercice 3 :
Quels résultats fournit ce programme ?
class Except extends Exception {}
public class Finally{
public static void f(int n){
try{
if (n!=1) throw new Except () ;
}
catch (Except e){
System.out.println ("catch dans f - n = " + n) ;
return ;
}
finally{
System.out.println ("dans finally - n = " + n) ;
}
}
public static void main (String args[]){
f(1) ;
f(2) ;
}
}
Exercice 4 :
- Implémenter le TAD Ensemble en utilisant un tableau d’éléments de type Object. On se limitera
aux opérations : taille, ajouter, retirer, contenir, union et intersection. L’implémentation devra
gérer les exceptions.
- Ecrire un programme qui permet de tester cette classe ; le programme devra créer un ensemble
dans lequel seront insérés des objets de type Integer, Double et String, puis affichera le nombre
d’instances de chaque type dans l’ensemble.