codiceFiscale

This commit is contained in:
La Programmatrice Verde
2026-01-13 11:45:46 +01:00
parent e3ec62cbfa
commit e26f5b9c38

View File

@@ -10,6 +10,8 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
@@ -50,25 +52,28 @@ public class MyBank {
pausa();
break;
case 2:
if(conti.isEmpty()){
System.out.println("Errore: è necessario aggiungere almeno un conto corrente prima di proseguire.");
}else{
if (conti.isEmpty()) {
System.out.println(
"Errore: è necessario aggiungere almeno un conto corrente prima di proseguire.");
} else {
}
pausa();
break;
case 3:
if(conti.isEmpty()){
System.out.println("Errore: è necessario aggiungere almeno un conto corrente prima di proseguire.");
}else{
if (conti.isEmpty()) {
System.out.println(
"Errore: è necessario aggiungere almeno un conto corrente prima di proseguire.");
} else {
}
pausa();
break;
case 4:
if(conti.isEmpty()){
System.out.println("Errore: è necessario aggiungere almeno un conto corrente prima di proseguire.");
}else{
if (conti.isEmpty()) {
System.out.println(
"Errore: è necessario aggiungere almeno un conto corrente prima di proseguire.");
} else {
}
pausa();
@@ -103,8 +108,7 @@ public class MyBank {
System.out.print("Inserire il proprio cognome: ");
cognome = sc.nextLine().trim();
// TODO: codiceFiscale da prendere da vecchio programma
codiceFiscale = "XDKEKW";
codiceFiscale = codiceFiscale();
dataDiNascita = dataDiNascita();
@@ -112,7 +116,27 @@ public class MyBank {
conti.add(new ContoCorrente(nome, cognome, codiceFiscale, dataDiNascita, saldoIniziale));
}
static String codiceFiscale() {
String codiceFiscale;
boolean error;
Pattern pattern = Pattern.compile("[A-Z]{6}[ABCDEHLMPRST]{3}\\d{2}[A-Z]\\d{3}[A-Z]");
Matcher matcher;
do {
error = false;
System.out.print("Inserire la propria data di nascita: ");
codiceFiscale = sc.nextLine().trim().toUpperCase();
matcher = pattern.matcher(codiceFiscale);
if (!matcher.find()) {
System.out.println(ERRORE_GENERICO);
pausa();
error = true;
}
} while (error);
return codiceFiscale;
}
static Date dataDiNascita() {
Date dataDiNascita = null;
boolean error;