diff --git a/src/appComune/GestisciCodiceFiscale.java b/src/appComune/GestisciCodiceFiscale.java index bd198de..e722ced 100644 --- a/src/appComune/GestisciCodiceFiscale.java +++ b/src/appComune/GestisciCodiceFiscale.java @@ -37,33 +37,54 @@ public class GestisciCodiceFiscale { for (int i = posizioniConsonanti[j]; i < caratteriCognome.length && !exit; i++) { if (GestisciStringhe.isConsonante(caratteriCognome[i])) { exit = true; - posizioniConsonanti[j+1] = i; + posizioniConsonanti[j + 1] = i; } } } - /*for (int i = 0; i < caratteriCognome.length && !exit; i++) { - if (GestisciStringhe.isConsonante(caratteriCognome[i])) { - exit = true; - posizioniConsonanti[0] = i; + if (posizioniConsonanti[3] == 0) { // non รจ stata trovata la terza consonante, AKA l'array nell'ultima posizione + // ha valore di default + char primaVocale = 0; + + for (int i = 0; i < caratteriCognome.length && !exit; i++) { + if (GestisciStringhe.isVocale(caratteriCognome[i])) { + exit = true; + primaVocale = caratteriCognome[i]; + } } + ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]]) + + Character.toString(caratteriCognome[posizioniConsonanti[2]]) + + Character.toString(primaVocale); + } else { + ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]]) + + Character.toString(caratteriCognome[posizioniConsonanti[2]]) + + Character.toString(caratteriCognome[posizioniConsonanti[3]]); } - for (int i = posizioniConsonanti[0]; i < caratteriCognome.length && !exit; i++) { - if (GestisciStringhe.isConsonante(caratteriCognome[i])) { - exit = true; - posizioniConsonanti[1] = i; - } - } - - for (int i = posizioniConsonanti[1]; i < caratteriCognome.length && !exit; i++) { - if (GestisciStringhe.isConsonante(caratteriCognome[i])) { - exit = true; - posizioniConsonanti[2] = i; - } - } */ - - ritorno = Character.toString(caratteriCognome[posizioniConsonanti[1]]) + Character.toString(caratteriCognome[posizioniConsonanti[2]]) + Character.toString(caratteriCognome[posizioniConsonanti[3]]); + /* + * for (int i = 0; i < caratteriCognome.length && !exit; i++) { + * if (GestisciStringhe.isConsonante(caratteriCognome[i])) { + * exit = true; + * posizioniConsonanti[0] = i; + * } + * } + * + * for (int i = posizioniConsonanti[0]; i < caratteriCognome.length && !exit; + * i++) { + * if (GestisciStringhe.isConsonante(caratteriCognome[i])) { + * exit = true; + * posizioniConsonanti[1] = i; + * } + * } + * + * for (int i = posizioniConsonanti[1]; i < caratteriCognome.length && !exit; + * i++) { + * if (GestisciStringhe.isConsonante(caratteriCognome[i])) { + * exit = true; + * posizioniConsonanti[2] = i; + * } + * } + */ return ritorno; }