Vous êtes sur la page 1sur 2

Institut Supérieur d'informatique et de Multimédia de Sfax Année universitaire : 2019-2020

Module : Java Evolué Filière : PIITWM


Enseignants : Bassem Bouaziz, Mounir Ketata

TP3: Thread et Exceptions


Exercice 1 :

1- Écrivez une application qui demande à l'utilisateur de saisir un entier à l'aide d'une
boîte de dialogue. Tant que la valeur saisie est incorrecte, affichez un message
d'erreur et demandez à nouveau la saisie. Si la valeur est correcte affichez un
message de confirmation.

Note : Utilisez un bloc try / catch avec l'exception


NumberFormatException..

// Demande la saisie d'un entier dans une boite de dialogue


Entier = JOptionPane.showInputDialog(null,
"Saisissez un entier : ",
"Entier",JOptionPane.QUESTION_MESSAGE);

//Pour afficher un message d’erreur dans une boite de dialogue

JOptionPane.showMessageDialog(null, "La
valeur saisie n'est pas un entier.",
"Erreur", JOptionPane.ERROR_MESSAGE);

2-L'entier saisi doit être impérativement supérieur à 10. On demande donc de créer
une classe d'exception adaptée à cette erreur, puis de modifier le programme afin de
traiter ce cas d'erreur. Note

1
Institut Supérieur d'informatique et de Multimédia de Sfax Année universitaire : 2019-2020

Module : Java Evolué Filière : PIITWM


Enseignants : Bassem Bouaziz, Mounir Ketata

Exercice 2

L'exercice suivant montre ce qui peut se passer quand deux threads (Ali et Ines)
partagent un même objet (ici un compte en banque commun). Pour cela vous allez
écrire un programme qui comprendra deux classes, Compte et ActeAliInes. La
classe Compte est très simple. Elle comprend : un attribut privé solde initialisé à 100
représentant le solde courant du compte et une méthode retirer (int montant)
permettant de retirer un certain montant du compte.

La classe ActeAliInes implémente Runnable et représente le comportement que Ali


et Ines ont tous les deux.

Leur comportement est assez particulier puisque Ali et Ines s'endorment très
souvent, et en particulier pendant qu'ils effectuent un retrait.

Cette classe contient :

 un attribut compte de type Compte représentant le compte en banque de Ali


et Ines.
 une méthode effectuerRetrait(int montant) permettant à Ines ou Ali
d'effectuer un retrait sur leur compte en banque. Le comportement de cette
méthode est le suivant : la personne voulant effectuer le retrait vérifie le
solde, puis s'endort 500 ms, puis à son réveil (au bout des 500 ms) effectue
le retrait. Le nom de la personne effectuant le retrait doit être signalé.
 une méthode run() décrivant le comportement de Ines et Ali. Il s'agit
d'effectuer en boucle (par exemple 10) des retraits de 100 dinars.
 la méthode main(String[] args) crée deux threads (Ines et Ali) avec le même
Runnable (ici de type ActeAliInes), les nomme Ali et Ines, puis les lance.

Vous aimerez peut-être aussi