Fix trovaConsonanti

This commit is contained in:
La Programmatrice Verde 2025-11-04 23:54:59 +01:00
parent 1dd40427ae
commit 5e23fb7df3
2 changed files with 31 additions and 22 deletions

View File

@ -103,25 +103,22 @@ public class GestisciCodiceFiscale {
static int[] trovaConsonanti(String cognome) { // trova le prime 4 consonanti
boolean exit = false;
char[] caratteriCognome = cognome.toCharArray();
int[] posizioniConsonanti = new int[5];
int[] ritorno = new int[4];
Arrays.fill(posizioniConsonanti, -1);
Arrays.fill(ritorno, -1);
int indiceEsterno = 0;
for (int j = 0; j < posizioniConsonanti.length; j++) {
for (int i = (posizioniConsonanti[j] == -1 ? 0 : posizioniConsonanti[j]); i < caratteriCognome.length
&& !exit; i++) {
for (int j = 0; j < ritorno.length; j++) {
exit = false;
for (int i = indiceEsterno; i < caratteriCognome.length && !exit; i++) {
if (GestisciStringhe.isConsonante(caratteriCognome[i])) {
exit = true;
posizioniConsonanti[j + 1] = i;
ritorno[j] = i;
indiceEsterno = i + 1;
Arrays.fill(caratteriCognome, 0, i + 1, (char) 0);
}
}
}
ritorno[0] = posizioniConsonanti[1];
ritorno[1] = posizioniConsonanti[2];
ritorno[2] = posizioniConsonanti[3];
ritorno[3] = posizioniConsonanti[4];
return ritorno;
}
@ -247,7 +244,7 @@ public class GestisciCodiceFiscale {
int mese = Integer.parseInt(sdf.format(dataNascita));
boolean exit = false;
String ritorno = "";
for (int c = 0; c < TABELLA_CONVERSIONE_MESE[0].length && !exit; c++) {
if (mese == Integer.parseInt(TABELLA_CONVERSIONE_MESE[0][c])) {
ritorno = TABELLA_CONVERSIONE_MESE[1][c];
@ -265,15 +262,14 @@ public class GestisciCodiceFiscale {
String ritorno;
if (sesso.equals("f")) {
ritorno = Integer.toString(giorno + 40);
}
else {
} else {
ritorno = Integer.toString(giorno);
}
return ritorno;
}
static String CalcolaFrom12To15(String luogoNascita) {
//API per i codici del catasto
// API per i codici del catasto
String ritorno = "";
if (luogoNascita.equals("varese")) {
ritorno = "L682";

View File

@ -4,7 +4,6 @@
*/
package utility;
import java.util.Arrays;
import java.util.LinkedList;
/**
@ -18,13 +17,27 @@ public class GestisciStringhe {
public static int ContaOccorrenze(String testo, char tipo) {
}*/
public static int trovaPosizioneOccorrenza(String testo, String stringaDaCercare) {
int ritorno = -1;
char[] caratteriTesto = testo.toCharArray();
char[] caratteriStringaDaCercare = stringaDaCercare.toCharArray();
boolean exit = false;
if (testo.contains(stringaDaCercare)) {
for (int i = 0; i < caratteriTesto.length && !exit; i++) {
if (caratteriTesto[i] == caratteriStringaDaCercare[0]) {
ritorno = i;
exit = true;
}
}
}
return ritorno;
}
public static int trovaPosizioneOccorrenza(String testo, String testoDaCercare) {
}
public static int trovaPosizioneOccorrenza(String testo, String testoDaCercare, int nrOccorrenza) {
/*public static int trovaPosizioneOccorrenza(String testo, String testoDaCercare, int nrOccorrenza) {
}
@ -66,7 +79,7 @@ public class GestisciStringhe {
for (int i = 0; i < testoRipulitoArray.length; i++) {
testoRipulitoArrayChar[i] = (char) testoRipulitoArray[i];
}
for (char c : testoRipulitoArrayChar) {
bld.append(c);
}