From ab8126dd2981fd89a481c0d0aaf9f322e0f0cecb Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Thu, 6 Nov 2025 23:17:22 +0100 Subject: [PATCH] terzoCasoCognome --- 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 3fdc82c..9978738 100644 --- a/src/appComune/GestisciCodiceFiscale.java +++ b/src/appComune/GestisciCodiceFiscale.java @@ -48,23 +48,7 @@ public class GestisciCodiceFiscale { // posizione // ha valore di default - int secondaVocale = trovaSecondaVocale(caratteriCognome, posizionePrimaVocale); - - if (secondaVocale == -1) { // non c'è la seconda vocale - if (primaVocale == 0) { - ritorno = Character.toString(caratteriCognome[posizioniConsonanti[0]]) - + Character.toString('x') - + Character.toString('x'); - } else { - ritorno = Character.toString(caratteriCognome[posizioniConsonanti[0]]) - + Character.toString(primaVocale) - + Character.toString('x'); - } - } else { - ritorno = Character.toString(caratteriCognome[posizioniConsonanti[0]]) - + Character.toString(primaVocale) - + Character.toString(secondaVocale); - } + ritorno = terzoCasoCognome(caratteriCognome, primaVocale, posizionePrimaVocale, caratteriCognome[posizioniConsonanti[0]]); } else { if (primaVocale == 0) { ritorno = Character.toString(caratteriCognome[posizioniConsonanti[0]]) @@ -164,6 +148,29 @@ public class GestisciCodiceFiscale { return ritorno; } + static String terzoCasoCognome(char[] caratteriCognome, char primaVocale, int posizionePrimaVocale, char primaConsonante) { + String ritorno; + int secondaVocale = trovaSecondaVocale(caratteriCognome, posizionePrimaVocale); + + if (secondaVocale == -1) { // non c'è la seconda vocale + if (primaVocale == 0) { + ritorno = Character.toString(primaConsonante) + + Character.toString('x') + + Character.toString('x'); + } else { + ritorno = Character.toString(primaConsonante) + + Character.toString(primaVocale) + + Character.toString('x'); + } + } else { + ritorno = Character.toString(primaConsonante) + + Character.toString(primaVocale) + + Character.toString(secondaVocale); + } + + return ritorno; + } + static String quintoCasoCognome(char[] caratteriCognome) { char primaVocale = trovaPrimaVocale(caratteriCognome)[0]; int posizionePrimaVocale = trovaPrimaVocale(caratteriCognome)[1];