Pessoal,
Gostaria de saber se o trecho de código abaixo está correto, porque está me dando a mensagem de erro: Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 15
at java.lang.String.charAt(Unknown Source)
String s = rs2.getString("ATRIBUTO");
SwingHandler.getInstance().displayMessage("Entrou aqui!"+s);
int tam = s.length();
for (int i=1;i<=tam;i++)
{
//String j = Integer.toString(i);
String carac[] = new String [tam];
if (i == 1)
{
if ((s.charAt(i) == 'a') || (s.charAt(i) == 'e') || (s.charAt(i) == 'i') || (s.charAt(i) == 'o') || (s.charAt(i) == 'u') || (s.charAt(i) == 'y'))
{
carac[i-1] = "V";
}
else
{
carac[i-1] = "C";
}
}
else
{
if ((s.charAt(i) == 'a') || (s.charAt(i) == 'e') || (s.charAt(i) == 'i') || (s.charAt(i) == 'o') || (s.charAt(i) == 'u') || (s.charAt(i) == 'y') || (s.charAt(i) == 'h') || (s.charAt(i) == s.charAt(i+1)) )
{
carac[i-1] = "";
}
else if (i == tam && s.charAt(i) == 's')
{
//s.charAt(i)= '';
carac[i-1] = "";
}
else
{
String database1 = "CODIGOFONETICO";
try
{
dbHandler.selectDatabase(database1);
}
catch (DatabaseException e)
{
throw new KDDMethodException("Unable to select database",e);
}
ResultSet rs3;
String query3 = "SELECT CODIGO FROM CODIGOFONETICO WHERE CARACTER = '"+s.charAt(i)+"';";
try
{
rs3 = dbHandler.queryDatabase(query3);
carac[i-1] = rs3.toString();
}
catch (SQLException e)
{
throw new KDDMethodException("Unable to query database",e);
}
}
}
codaux = codaux + carac [i-1];
cod = codaux;
} //for varrendo a string
j++;
Muito obrigada