From fc34561c409ab1d8f23e91d8bd259f8f149d0722 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 13 Jan 2026 11:58:50 +0100 Subject: [PATCH] Correzione numeroContoCorrente --- src/mybank/ContoCorrente.java | 14 +++++++++++--- src/mybank/MyBank.java | 30 ++++++++++++++++++++++-------- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/mybank/ContoCorrente.java b/src/mybank/ContoCorrente.java index 527a1af..51d9b9b 100644 --- a/src/mybank/ContoCorrente.java +++ b/src/mybank/ContoCorrente.java @@ -4,6 +4,7 @@ */ package mybank; +import java.util.ArrayList; import java.util.Date; /** @@ -17,14 +18,21 @@ public class ContoCorrente { private Date dataDiNascita; private double saldoIniziale; private int numeroContoCorrente; - private static int numeroContoCorrenteGlobale; - public ContoCorrente(String nome, String cognome, String codiceFiscale, Date dataDiNascita, double saldoIniziale) { + private static ArrayList numeriContiCorrenti = new ArrayList<>(); + + public ContoCorrente(String nome, String cognome, String codiceFiscale, Date dataDiNascita, double saldoIniziale, + int numeroContoCorrente) { this.nome = nome; this.cognome = cognome; this.codiceFiscale = codiceFiscale; this.dataDiNascita = dataDiNascita; this.saldoIniziale = saldoIniziale; - this.numeroContoCorrente = ++numeroContoCorrenteGlobale; + this.numeroContoCorrente = numeroContoCorrente; + numeriContiCorrenti.add(numeroContoCorrente); + } + + public static ArrayList getNumeriContiCorrenti() { + return numeriContiCorrenti; } } \ No newline at end of file diff --git a/src/mybank/MyBank.java b/src/mybank/MyBank.java index bf47a65..3453831 100644 --- a/src/mybank/MyBank.java +++ b/src/mybank/MyBank.java @@ -101,20 +101,34 @@ public class MyBank { String codiceFiscale; Date dataDiNascita; double saldoIniziale; + int numeroContoCorrente; + boolean error; - System.out.print("Inserire il proprio nome: "); - nome = sc.nextLine().trim(); + do { + error = false; + System.out.print("Inserire il proprio nome: "); + nome = sc.nextLine().trim(); - System.out.print("Inserire il proprio cognome: "); - cognome = sc.nextLine().trim(); + System.out.print("Inserire il proprio cognome: "); + cognome = sc.nextLine().trim(); - codiceFiscale = codiceFiscale(); + codiceFiscale = codiceFiscale(); - dataDiNascita = dataDiNascita(); + dataDiNascita = dataDiNascita(); - saldoIniziale = saldoIniziale(); + saldoIniziale = saldoIniziale(); - conti.add(new ContoCorrente(nome, cognome, codiceFiscale, dataDiNascita, saldoIniziale)); + numeroContoCorrente = codiceFiscale.hashCode(); + + if (ContoCorrente.getNumeriContiCorrenti().contains(numeroContoCorrente)) { + System.out.println("Errore: esiste giĆ  un conto corrente per questo codice fiscale, riprovare."); + pausa(); + error = true; + } + else { + conti.add(new ContoCorrente(nome, cognome, codiceFiscale, dataDiNascita, saldoIniziale, numeroContoCorrente)); + } + } while (error); } static String codiceFiscale() {