Refactor CalcolaSecondaTerna

This commit is contained in:
La Programmatrice Verde 2025-11-04 22:13:14 +01:00
parent a42d4d9a61
commit 756392308d

View File

@ -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) {
}