Matière : Langage Java 1éreAnnée G-INFO
Devoir Java N°6
Exercice 1
- Créer un nouveau projet Java nommé EntiersNaturels.
- Dedans ce projet, créer un package nommé EntNaturel.
- Réaliser une classe EntNat permettant de manipuler des entiers naturels (positifs ou
nuls). Cette classe disposera tout simplement :
d’un constructeur à un argument de type int qui générera une exception
personnalisée de type ErrorConst lorsque la valeur reçue de son argument est
négative.
d’une méthode getN fournissant sous forme d’un int, la valeur encapsulée dans
un objet de type EntNat.
- ErrorConst est un type classe à définir avec un champ valeur destiné à conserver la
valeur avec laquelle on a tenté de construire à tort un entier naturel.
- Écrire un petit programme d’utilisation qui traite l’exception ErrorConst en affichant
un message et en interrompant l’exécution.
Exrecice 2 :
Reprendre l’exercice précédent, puis ajouter à la classe EntNat :
- Des méthodes statiques de somme, de différence et de produit de deux naturels (de
type EntNat); elles généreront respectivement des exceptions ErrSom, ErrDiff et
ErrProd lorsque le résultat ne sera pas représentable ou un résultat de type EntNat
dans le cas contraire; la limite des valeurs des naturels sera fixée à la plus grande
valeur du type int (Integer.MAX_VALUE : This is a constant holding the maximum
value an int can have)
N.B: On s’arrangera pour que toutes les classes exception dérivent d’une classe ErrNat.
La hiérarchie des classes d’exception se présentera comme suit :
La classe ErrOp servira de base aux exceptions liées à des opérations arithmétiques (somme,
différence ou produit) ; elle possèdera deux champs de type int représentant les valeurs des
deux opérandes de l’opération.
Écrire deux exemples d’utilisation de la classe :
ENSA Agadir -1- 2022-2023
Matière : Langage Java 1éreAnnée G-INFO
- l’un se contentant d’intercepter sans discernement les exceptions de type dérivé de
ErrNat.
- l’autre qui explicite la nature de l’exception en affichant les informations disponibles.
Les deux exemples pourront figurer dans deux blocs try d’un même programme.
ENSA Agadir -2- 2022-2023