Quinto caso cognome

This commit is contained in:
La Programmatrice Verde 2025-11-04 20:59:13 +01:00
parent 16cfbf2439
commit 0b86b0d7a3

View File

@ -42,8 +42,7 @@ public class GestisciCodiceFiscale {
} }
} }
if (posizioniConsonanti[3] == 0) { // non è stata trovata la terza consonante, AKA l'array nell'ultima posizione if (posizioniConsonanti[1] == 0) { // non è stata trovata la prima consonante, ovvero non ce ne sono
// ha valore di default
char primaVocale = 0; char primaVocale = 0;
int posizionePrimaVocale = 0; int posizionePrimaVocale = 0;
@ -54,37 +53,67 @@ public class GestisciCodiceFiscale {
posizionePrimaVocale = i; posizionePrimaVocale = i;
} }
} }
if (posizioniConsonanti[2] == 0) { // non è stata trovata la seconda consonante, AKA l'array nella penultima
char secondaVocale = 0;
for (int i = posizionePrimaVocale; i < caratteriCognome.length && !exit; i++) {
if (GestisciStringhe.isVocale(caratteriCognome[i])) {
exit = true;
secondaVocale = caratteriCognome[i];
}
}
ritorno = Character.toString(primaVocale)
+ Character.toString(secondaVocale)
+ Character.toString('x');
} else {
if (posizioniConsonanti[3] == 0) { // non è stata trovata la terza consonante, AKA l'array nell'ultima
// posizione // posizione
// ha valore di default // ha valore di default
char primaVocale = 0;
int posizionePrimaVocale = 0;
char secondaVocale = 0; for (int i = 0; i < caratteriCognome.length && !exit; i++) {
for (int i = posizionePrimaVocale; i < caratteriCognome.length && !exit; i++) {
if (GestisciStringhe.isVocale(caratteriCognome[i])) { if (GestisciStringhe.isVocale(caratteriCognome[i])) {
exit = true; exit = true;
secondaVocale = caratteriCognome[i]; primaVocale = caratteriCognome[i];
posizionePrimaVocale = i;
} }
} }
if (posizioniConsonanti[2] == 0) { // non è stata trovata la seconda consonante, AKA l'array nella
// penultima
// posizione
// ha valore di default
if (!exit) { char secondaVocale = 0;
ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]])
+ Character.toString(primaVocale) for (int i = posizionePrimaVocale; i < caratteriCognome.length && !exit; i++) {
+ Character.toString('x'); if (GestisciStringhe.isVocale(caratteriCognome[i])) {
exit = true;
secondaVocale = caratteriCognome[i];
}
}
if (!exit) {
ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]])
+ Character.toString(primaVocale)
+ Character.toString('x');
} else {
ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]])
+ Character.toString(primaVocale)
+ Character.toString(secondaVocale);
}
} else { } else {
ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]]) ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]])
+ Character.toString(primaVocale) + Character.toString(caratteriCognome[posizioniConsonanti[2]])
+ Character.toString(secondaVocale); + Character.toString(primaVocale);
} }
} else { } else {
ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]]) ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]])
+ Character.toString(caratteriCognome[posizioniConsonanti[2]]) + Character.toString(caratteriCognome[posizioniConsonanti[2]])
+ Character.toString(primaVocale); + Character.toString(caratteriCognome[posizioniConsonanti[3]]);
} }
} else {
ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]])
+ Character.toString(caratteriCognome[posizioniConsonanti[2]])
+ Character.toString(caratteriCognome[posizioniConsonanti[3]]);
} }
/* /*