From 50b849f403c3b863f97f137ce3db7be25785d4ca Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 4 Nov 2025 20:47:55 +0100 Subject: [PATCH] Secondo caso cognome --- src/appComune/GestisciCodiceFiscale.java | 61 ++++++++++++++++-------- 1 file changed, 41 insertions(+), 20 deletions(-) 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; }