0% ont trouvé ce document utile (0 vote)
119 vues5 pages

Système bancaire simple en Java

Transféré par

bounsiariane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
119 vues5 pages

Système bancaire simple en Java

Transféré par

bounsiariane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

// Backend complet pour un système bancaire simple en Java

import java.util.*;

// Classe Client
class Client {
private String id;
private String nom;
private String telephone;

public Client(String id, String nom, String telephone) {


this.id = id;
this.nom = nom;
this.telephone = telephone;
}

public String getId() {


return id;
}

public String getNom() {


return nom;
}

public String getTelephone() {


return telephone;
}

@Override
public String toString() {
return "Client[ID=" + id + ", Nom=" + nom + ", Téléphone=" + telephone +
"]";
}
}

// Classe Compte
class Compte {
private String numeroCompte;
private Client proprietaire;
private double solde;

public Compte(String numeroCompte, Client proprietaire, double solde) {


this.numeroCompte = numeroCompte;
this.proprietaire = proprietaire;
this.solde = solde;
}

public String getNumeroCompte() {


return numeroCompte;
}

public Client getProprietaire() {


return proprietaire;
}

public double getSolde() {


return solde;
}
public void deposer(double montant) {
if (montant > 0) {
solde += montant;
}
}

public boolean retirer(double montant) {


if (montant > 0 && solde >= montant) {
solde -= montant;
return true;
}
return false;
}

@Override
public String toString() {
return "Compte[Numéro=" + numeroCompte + ", Propriétaire=" +
proprietaire.getNom() + ", Solde=" + solde + "]";
}
}

// Classe principale pour la gestion


public class BankingSystem {
private static List<Client> clients = new ArrayList<>();
private static List<Compte> comptes = new ArrayList<>();

public static void main(String[] args) {


Scanner scanner = new Scanner(System.in);
boolean continuer = true;

while (continuer) {
System.out.println("\n--- Menu Principal ---");
System.out.println("1. Ajouter un client");
System.out.println("2. Créer un compte");
System.out.println("3. Afficher les comptes");
System.out.println("4. Déposer de l'argent");
System.out.println("5. Retirer de l'argent");
System.out.println("6. Quitter");
System.out.print("Choisissez une option : ");

if (!scanner.hasNextInt()) {
System.out.println("Entrée invalide, veuillez entrer un nombre.");
scanner.next();
continue;
}

int choix = scanner.nextInt();


scanner.nextLine(); // Consommer la nouvelle ligne

switch (choix) {
case 1:
ajouterClient(scanner);
break;
case 2:
creerCompte(scanner);
break;
case 3:
afficherComptes();
break;
case 4:
deposerArgent(scanner);
break;
case 5:
retirerArgent(scanner);
break;
case 6:
continuer = false;
System.out.println("Merci d'avoir utilisé notre système
bancaire !");
break;
default:
System.out.println("Option invalide, veuillez réessayer.");
}
}

scanner.close();
}

private static void ajouterClient(Scanner scanner) {


System.out.print("Entrez l'ID du client : ");
String id = scanner.nextLine();
System.out.print("Entrez le nom du client : ");
String nom = scanner.nextLine();
System.out.print("Entrez le téléphone du client : ");
String telephone = scanner.nextLine();

clients.add(new Client(id, nom, telephone));


System.out.println("Client ajouté avec succès.");
}

private static void creerCompte(Scanner scanner) {


System.out.print("Entrez l'ID du client propriétaire : ");
String idClient = scanner.nextLine();
Client proprietaire = null;

for (Client client : clients) {


if (client.getId().equals(idClient)) {
proprietaire = client;
break;
}
}

if (proprietaire == null) {
System.out.println("Client introuvable. Veuillez ajouter le client
d'abord.");
return;
}

System.out.print("Entrez le numéro du compte : ");


String numeroCompte = scanner.nextLine();
if (trouverCompte(numeroCompte) != null) {
System.out.println("Un compte avec ce numéro existe déjà.");
return;
}

System.out.print("Entrez le solde initial : ");


if (!scanner.hasNextDouble()) {
System.out.println("Entrée invalide pour le solde initial.");
scanner.next();
return;
}

double solde = scanner.nextDouble();


scanner.nextLine();

comptes.add(new Compte(numeroCompte, proprietaire, solde));


System.out.println("Compte créé avec succès.");
}

private static void afficherComptes() {


if (comptes.isEmpty()) {
System.out.println("Aucun compte à afficher.");
return;
}

for (Compte compte : comptes) {


System.out.println(compte);
}
}

private static void deposerArgent(Scanner scanner) {


System.out.print("Entrez le numéro du compte : ");
String numeroCompte = scanner.nextLine();
Compte compte = trouverCompte(numeroCompte);

if (compte == null) {
System.out.println("Compte introuvable.");
return;
}

System.out.print("Entrez le montant à déposer : ");


if (!scanner.hasNextDouble()) {
System.out.println("Entrée invalide pour le montant.");
scanner.next();
return;
}

double montant = scanner.nextDouble();


scanner.nextLine();

compte.deposer(montant);
System.out.println("Dépôt effectué avec succès.");
}

private static void retirerArgent(Scanner scanner) {


System.out.print("Entrez le numéro du compte : ");
String numeroCompte = scanner.nextLine();
Compte compte = trouverCompte(numeroCompte);

if (compte == null) {
System.out.println("Compte introuvable.");
return;
}

System.out.print("Entrez le montant à retirer : ");


if (!scanner.hasNextDouble()) {
System.out.println("Entrée invalide pour le montant.");
scanner.next();
return;
}

double montant = scanner.nextDouble();


scanner.nextLine();

if (compte.retirer(montant)) {
System.out.println("Retrait effectué avec succès.");
} else {
System.out.println("Solde insuffisant ou montant invalide.");
}
}

private static Compte trouverCompte(String numeroCompte) {


for (Compte compte : comptes) {
if (compte.getNumeroCompte().equals(numeroCompte)) {
return compte;
}
}
return null;
}
}

Vous aimerez peut-être aussi