Secondo caso nome
This commit is contained in:
parent
b406b8ff75
commit
20997136dc
@ -97,7 +97,7 @@ public class GestisciCodiceFiscale {
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
static int[] trovaConsonanti(String cognome) { //trova le prime 4 consonanti
|
||||
static int[] trovaConsonanti(String cognome) { // trova le prime 4 consonanti
|
||||
boolean exit = false;
|
||||
char[] caratteriCognome = cognome.toCharArray();
|
||||
int[] posizioniConsonanti = new int[5];
|
||||
@ -105,7 +105,8 @@ public class GestisciCodiceFiscale {
|
||||
Arrays.fill(posizioniConsonanti, -1);
|
||||
|
||||
for (int j = 0; j < posizioniConsonanti.length; j++) {
|
||||
for (int i = (posizioniConsonanti[j] == -1 ? 0 : posizioniConsonanti[j]); i < caratteriCognome.length && !exit; i++) {
|
||||
for (int i = (posizioniConsonanti[j] == -1 ? 0 : posizioniConsonanti[j]); i < caratteriCognome.length
|
||||
&& !exit; i++) {
|
||||
if (GestisciStringhe.isConsonante(caratteriCognome[i])) {
|
||||
exit = true;
|
||||
posizioniConsonanti[j + 1] = i;
|
||||
@ -175,10 +176,20 @@ public class GestisciCodiceFiscale {
|
||||
int[] posizioniConsonanti = trovaConsonanti(nome);
|
||||
|
||||
if (posizioniConsonanti[3] == -1) {
|
||||
if (posizioniConsonanti[2] == -1) {
|
||||
/*
|
||||
* O grandi divinità del codice, fate in modo che ogni nome abbia almeno una vocale
|
||||
*/
|
||||
char primaVocale = trovaPrimaVocale(caratteriNome)[0];
|
||||
ritorno = Character.toString(caratteriNome[posizioniConsonanti[0]])
|
||||
+ Character.toString(caratteriNome[posizioniConsonanti[1]])
|
||||
+ Character.toString(primaVocale);
|
||||
} else {
|
||||
ritorno = Character.toString(caratteriNome[posizioniConsonanti[0]])
|
||||
+ Character.toString(caratteriNome[posizioniConsonanti[1]])
|
||||
+ Character.toString(caratteriNome[posizioniConsonanti[2]]);
|
||||
}
|
||||
}
|
||||
|
||||
return ritorno;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user