Boas pessoal, sou novo aqui e também sou novo em java… Será que me podia ajudar explicando-me onde está o meu erro.
É o seguinte, fiquei de construir um programa para verificar se uma palavra é palindromo (palavra que quando dividida ao meio é igual). E penso que acertei +/- no código. O problema e que quando corro o programa dá me o seguinte erro.
Digite a palavra
essa
Exception in thread “main” java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at src.exea.main(exea.java:29)
o código é o seguinte:
package src;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class exea {
public static void main (String[] args) throws IOException {
String palavra;
int c;
String esq, dir;
boolean palindromo=true;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Digite a palavra");
palavra = in.readLine();
int numcar = palavra.length();
for (c=1; c<=(numcar/2)-1;c++) {
esq=palavra.substring(c,1);
dir=palavra.substring(numcar-1-c,1);
if (esq.equals(dir)) {
palindromo=true;
}
else {
palindromo=false;
}
} while (palindromo==true);
System.out.println(palavra+palindromo);
}
}