Dans le cadre d'un projet de gestion bancaire, j'ai un problème au niveau de
l'exception SodeInsuffisant. Pouvez vous me dire comment faire pour que le
programme ne s'arrete pas lorsque l'exception SodeInsuffisant est lance ???
Merci de votre aide
//---------------------------------------------------
public class SoldeInsuffisantException extends RuntimeException
{
public SoldeInsuffisantException() {}
public SoldeInsuffisantException(String message)
{
super(message);
}
}
//----------------------------
// Classe CompteBancaire
/**
* Classe représentant un compte bancaire et les méthodes qui lui
* sont associées.
*/
public class CompteBancaire{
private String nom; // le nom du client
private String adresse; // son adresse
private int numero; // numéro du compte
private float solde; // solde du compte
//Constructeur
public CompteBancaire(String nom, String adresse, int numero)
{
this.nom=nom;
this.adresse=adresse;
this.numero=numero;
}
// Les méthodes
public void crediter(float montant) {
solde += montant;
}
public void debiter(float montant)throws SoldeInsuffisantException{
if (montant> solde)
throw new SoldeInsuffisantException("\nle montant "+ montant +" a retirer "
+ " depasse le solde " + solde);
solde -= montant;
}
public void afficherEtat() {
System.out.println("Compte numero " + numero +
" ouvert au nom de " + nom);
System.out.println("Adresse du titulaire : " + adresse);
System.out.println("Le solde actuel du compte est de " +
solde + " $.");
System.out.println("************************************************");
}
}
//------------------------------------------------
/**
* Classe contenant un programme de gestion bancaire, utilisant
* un tableau de comptes bancaires
*
*/
import java.util.*;
public class BanqueException {
public static void main(String[] args) {
CompteBancaire[] tabComptes = new CompteBancaire[3];
Scanner in = new Scanner(System.in);
// Initialisation des comptes
for (int i = 0 ; i < tabComptes.length ; i++) {
// Lire les valeurs d'initialisation
System.out.print("\n\nNom du titulaire : ");
String monNom = in.next();
System.out.print("\nSon adresse : ");
String monAdresse = in.next();
System.out.print("\nSon Numero de compte : ");
int monNumero = in.nextInt();
// Créer le compte -- notez la syntaxe avec new
tabComptes[i] = new CompteBancaire(monNom, monAdresse, monNumero);
}
boolean fin = false; // variable vraie si on veut s'arrêter
while(true) { // boucle infinie dont on sort par un break
System.out.println("\nVotre choix : [D]ebit, [C]redit, [F]in ? ");
String choix = in.next();
boolean credit = false; // variable vraie si c'est un crédit
// Récupérer la première lettre de la chaîne saisie
char monChoix = choix.charAt(0);
switch(monChoix) {
case 'C':
case 'c': // Même chose pour majuscule et minuscule
credit = true;
fin = false;
break; // Pour ne pas continuer en séquence
case 'd':
case 'D':
credit = false;
fin = false;
break;
case 'f':
case 'F':
fin = true;
break;
default:
fin = true; // On va considérer que par défaut on s'arrête
}
if (fin) {
break; // sortir de la boucle ici
}
else {
System.out.print("\nIndice dans le tableau des comptes = ");
int indice = in.nextInt();
System.out.print("\nMontant a " + (credit ? "crediter" : "debiter") + " :
");
float montant = in.nextFloat();
if (credit) {
tabComptes[indice].crediter(montant);
}
else {
tabComptes[indice].debiter(montant);
}
// Afficher le nouveau solde
tabComptes[indice].afficherEtat();
}
}
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David
Le Sun, 15 Jan 2006 16:41:11 +0100, Joseph KHOURY a écrit :
Bonjour,
Dans le cadre d'un projet de gestion bancaire, j'ai un problème au niveau de l'exception SodeInsuffisant. Pouvez vous me dire comment faire pour que le programme ne s'arrete pas lorsque l'exception SodeInsuffisant est lance
try .. catch .. ça ne te dit rien ?
Et pourquoi tu hérites de RuntimeException ? Normalement seules les erreurs techniques héritent de RuntimeException, les erreurs fonctionnelles héritent de Exception tout court. Ca oblige le try .. catch ... aux fainéants.
Le Sun, 15 Jan 2006 16:41:11 +0100, Joseph KHOURY a écrit :
Bonjour,
Dans le cadre d'un projet de gestion bancaire, j'ai un problème au niveau
de l'exception SodeInsuffisant. Pouvez vous me dire comment faire pour que
le programme ne s'arrete pas lorsque l'exception SodeInsuffisant est lance
try .. catch .. ça ne te dit rien ?
Et pourquoi tu hérites de RuntimeException ?
Normalement seules les erreurs techniques héritent de RuntimeException,
les erreurs fonctionnelles héritent de Exception tout court. Ca oblige le
try .. catch ... aux fainéants.
Le Sun, 15 Jan 2006 16:41:11 +0100, Joseph KHOURY a écrit :
Bonjour,
Dans le cadre d'un projet de gestion bancaire, j'ai un problème au niveau de l'exception SodeInsuffisant. Pouvez vous me dire comment faire pour que le programme ne s'arrete pas lorsque l'exception SodeInsuffisant est lance
try .. catch .. ça ne te dit rien ?
Et pourquoi tu hérites de RuntimeException ? Normalement seules les erreurs techniques héritent de RuntimeException, les erreurs fonctionnelles héritent de Exception tout court. Ca oblige le try .. catch ... aux fainéants.
"Dam" <damien.guerin2@wanadoo.fr> a écrit dans le message de news:
1137399051.554138.89760@o13g2000cwo.googlegroups.com...
ça sent un projet d'école ça... ;)