Ciao a tutti ho un problemino con il seguente listato java
(mia versione jdk1.1.7):
.......
.......
public String GetVocali(String Stringa) {
for (i = 0; i < Stringa.length(); i++)
if (consonanti.indexOf(Stringa.substring(i, i + 1)) == -1 && Stringa.substring(i, i + 1) != " ")
voc += Stringa.substring(i, i + 1);
return voc;
}
public String CalcolaCognome(String Cognome) {
code = GetConsonanti(Cognome);
if (code.length() >= 3)
code = code.substring(0, 3);
else
{
code += GetVocali(Cognome).substring(0, 3 - code.length());
if (code.length() < 3)
for (i = code.length(); i < 3; i++)
code += "X";
}
return code;
}
}
Quest'ultima è la parte incriminata:
if (code.length() < 3)
for (i = code.length(); i < 3; i++)
code += "X";
non viene eseguita come se l'if fosse un errore li dentro
(in effetti se levo l'if e il for la stringa code viene correttamente aggiornata).
Poichè sono un tuttofare nel senso che programmicchio in tanti linguaggi ma in nessuno sono davvero forte qualcuno sa dirmi
se per caso esiste una regola per cui in java:
if (code.length() < 3) andrebbe dichiarato prima
(ho come l'impressione che dopo l'else per logica java lo sottointenda e per cio' non lo riesegue)
o se c'e' qualche altro errore di logica?
Il mio compilatore JCreator non rileva nulla di scorretto.
Grazie