Pr A.MAJDA 1 ed ---------------------------------------------------------------
Pr A.MAJDA 1 ed ------------------------------------------------------------------------------------------------- Programmation en JAVA Exceptions Devoir à rendre le 16 Mars ------------------------------------------------------------------------------------------------- Exercice 1 Soit à faire une saisie de choix pour un menu sécurisé. 1. Ecrire une méthode saisirChoix qui prendra en paramètre un entier n et renverra une valeur comprise entre 1 et n, tapée au clavier par l’utilisateur. Pour simplifier, l’entier est déclaré et initialisé à 5 dans la méthode principale. Les différentes erreurs qui pourront se produire seront lorsque : - n est inférieur à 1 - L’utilisateur a entré un nombre qui n’est pas compris entre 1 et n Chaque erreur devra être détectée par le programme et être signalée par une exception spécifique. Il faut donc créer deux classes différentes d’exception pour les deux erreurs. 2. Ecrire une méthode afficheMenu qui prend en paramètre un tableau de chaînes de caractères. Chaque chaîne de caractère décrit un choix du menu. La méthode doit afficher ces différents choix. 3. Ecrire une méthode callMethod qui utilise les deux méthodes déjà écrites pour afficher un menu et saisir le choix de l’utilisateur. Cette méthode devra traiter les deux exceptions définies à la question 1. Elle prendra en entrée un tableau d’options (string) et en sortie le choix effectué (sous la forme d’un entier). 1. Ecrire un programme qui initialise un tableau de Menus puis affiche le menu choisi par l’utilisateur. Il capturera les exceptions susceptibles d’être levées. 2. La sortie de ce programme doit être conforme au screenshot suivant : ANNEE 2020-2021 UNIVERSITE SIDI MOHAMED BEN ABDELLAH FACULTE DES SCIENCES ET TECHNIQUE FES-SAIS DEPARTEMENT D’INFORMATIQUE LST Info Pr A.MAJDA 2 Exercice 2 On souhaite traiter des comptes bancaires. Un compte bancaire possède à tout moment une donnée de type double, son solde. Il est caractérisé par ailleurs par un code donné sous forme de chaîne de caractères, et un titulaire qui est une personne physique. Ce solde peut être positif (compte créditeur) ou négatif (compte débiteur). Au départ, un compte bancaire a un solde nul, un code nul par défaut, et un titulaire nul. Il est aussi possible de créer un compte en précisant son solde initial, son titulaire et son code initial. Utiliser son compte consiste à pouvoir y faire des dépôts et des retraits. Pour ces deux opérations, il faut connaître le montant de l'opération et vérifier que le code proposé est bien le code du compte. L'utilisateur peut aussi consulter le solde de son compte. A. Ecrire la classe PersonnePhysique, on suppose qu’elle possède un nom et un code CIN, tous les deux de type chaine de caractères. B. Ecrire une classe CompteBancaire prenant en compte la description précédente. Cette classe comprendra les méthodes suivantes : 1. Constructeur(s) 2. Une méthode de modification du code 3. Une méthode de consultation du solde 4. Une méthode de dépôt 5. Une méthode de retrait. Pour cette méthode définissez tout d’abord une classe RetraitInterditException qui sera instanciée par la méthode de retrait dans le cas d'une tentative de retrait impossible (solde insuffisant). C. La banque souhaite autoriser pour certains clients un découvert. Le découvert est un montant plafonné mis à la disposition du client par la banque. Un retrait est alors possible tant que le client ne dépasse pas ce découvert autorisé. Le cas échéant, le retrait est refusé. Dans ce dernier cas, la méthode de retrait lancera une exception. 1. Proposer une solution pour la gestion des comptes à découvert (par héritage ou implémentation d’interface). Justifier le choix de la solution. 2. Ecrire le programme principal pour tester la méthode de retrait traiter les exceptions. uploads/S4/ devoir-td3.pdf
Documents similaires










-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 22, 2022
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.5402MB