From 756392308da99289ad1a2b7032281eb9536768f9 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 4 Nov 2025 22:13:14 +0100 Subject: [PATCH] Refactor CalcolaSecondaTerna --- src/appComune/GestisciCodiceFiscale.java | 41 ++++++++++++++---------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/appComune/GestisciCodiceFiscale.java b/src/appComune/GestisciCodiceFiscale.java index 071efd2..024138b 100644 --- a/src/appComune/GestisciCodiceFiscale.java +++ b/src/appComune/GestisciCodiceFiscale.java @@ -185,23 +185,8 @@ public class GestisciCodiceFiscale { int posizionePrimaVocale = trovaPrimaVocale(caratteriNome)[1]; if (posizioniConsonanti[1] == -1) { // non c'è la seconda consonante - int secondaVocale = trovaSecondaVocale(caratteriNome, posizionePrimaVocale); - - if (secondaVocale == -1) { // non c'è la seconda vocale - ritorno = Character.toString(caratteriNome[posizioniConsonanti[0]]) - + Character.toString(primaVocale) - + Character.toString('x'); - } else { - if (posizioniConsonanti[0] == -1) { - ritorno = Character.toString(primaVocale) - + Character.toString(secondaVocale) - + Character.toString('x'); - } else { - ritorno = Character.toString(caratteriNome[posizioniConsonanti[0]]) - + Character.toString(primaVocale) - + Character.toString(secondaVocale); - } - } + ritorno = quartoQuintoSestoCasoNome(caratteriNome, primaVocale, posizionePrimaVocale, + posizioniConsonanti[0]); } else { ritorno = Character.toString(caratteriNome[posizioniConsonanti[0]]) + Character.toString(caratteriNome[posizioniConsonanti[1]]) @@ -221,6 +206,28 @@ public class GestisciCodiceFiscale { return ritorno; } + static String quartoQuintoSestoCasoNome(char[] caratteriNome, char primaVocale, int posizionePrimaVocale, int primaConsonante) { + String ritorno; + int secondaVocale = trovaSecondaVocale(caratteriNome, posizionePrimaVocale); + + if (secondaVocale == -1) { // non c'è la seconda vocale + ritorno = Character.toString(caratteriNome[primaConsonante]) + + Character.toString(primaVocale) + + Character.toString('x'); + } else { + if (primaConsonante == -1) { + ritorno = Character.toString(primaVocale) + + Character.toString(secondaVocale) + + Character.toString('x'); + } else { + ritorno = Character.toString(caratteriNome[primaConsonante]) + + Character.toString(primaVocale) + + Character.toString(secondaVocale); + } + } + return ritorno; + } + static String CalcolaSettimoOttavo(Date dataNascita) { }