Programmation Java 1A - TP15
Comptes en banque ; Banque
Reprenez la classe Compte du TP 14. Copiez Compte.java dans votre dossier tp15.
L'objectif de ce TP est d'écrire la classe Banque, qui permet de gérer une liste de comptes en banque. La classe Banque utilisera la classe Compte. 1. Classe Banque Ecrivez la classe Banque (vous obtiendrez donc deux fichiers java dans votre répertoire : Compte.java et Banque.java. Vous pourrez compiler d'un coup l'ensemble en tapant javac *.java). Une banque est un objet qui contient une liste de comptes (la classe Banque possède donc un attribut privé de type ArrayList <Compte>)
Les opérations publiques sur une Banque sont :
ouvrir un nouveau compte (qui est bien sûr ajouté dans l'ArrayList) ;
créditer un compte dont on connait le numéro ;
débiter un compte dont on connaît le numéro ;
afficher le solde et le nom du titulaire d'un compte dont on connait le numéro ;
afficher le numéro de compte quand on connaît le nom du titulaire ;
afficher la somme et la moyenne des soldes de tous les comptes ;
afficher
la liste des comptes qui sont à découvert (pour l'instant, on se
contentera d'afficher les numéros des comptes qui sont à découvert)
supprimer un compte existant (on ne pourra supprimer un compte que si son solde est égal à zéro).
Vous devrez écrire les méthodes (non static) permettant de réaliser ces opérations.
Attention
: ces méthodes n'effectuent aucune saisie. Lorsqu'une méthode a besoin
d'informations (par exemple, la méthode permettant de créditer un
compte a besoin du numéro de compte et du montant à créditer), elle
reçoit ces informations en paramètre.
Pour l'instant, lorsqu'un
nouveau compte est créé, le numéro de compte sera reçu en paramètre
(Dans le main, le numéro de compte sera donc entré par l'utilisateur.
Lorsque vous ferez des tests, il faudra veiller à ce que les numéros de
comtes saisis soient uniques). Nous verrons plus tard comment générer
automatiquement des numéros de compte uniques.
N'oubliez pas d'écrire aussi le constructeur de la classe Banque. Rappel : le rôle du constructeur est d'initialiser les attributs de la classe. Ici, le constructeur devra donc créer l'ArrayList.
Vous écrirez un main dans lequel est déclarée et créée une variable de type Banque. Ce main affiche et fait fonctionner un menu permettant de choisir et d'effectuer les opérations listées ci-dessus. Remarque
: toutes les saisies doivent avoir lieu dans le main (par exemple,
avant de créditer un compte en appelant la méthode non static
correspondante, la saisie du numéro de compte et du montant à créditer
ont lieu dans le main).
2. Méthodes publiques, méthodes privées Plusieurs opérations nécessitent de récupérer un compte (un objet de type Compte) à partir de son numéro. Plutôt
que de dupliquer ce morceau de code dans plusieurs méthodes, il est
préférable d'en faire un méthode (une fonction qui prend en paramètre
un numéro de compte et retourne un type Compte). Cette méthode sera alors déclarée privée (private, en Java) car elle est destinée à être appelée par d'autres méthodes de la même classe, alors qu'un utilisateur de la classe Banque n'a aucune raison de l'appeler.
Ecrivez la méthode privée chercherCompte (int numéro).
Cette méthode retourne un objet de type Compte (c'est-à-dire une
adresse car en Java les objets sont obligatoirement manipulés par
l'intermédiaire d'une adresse). Modifiez les autres méthodes pour faire appel à chercherCompte.