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];