OLá! Estou com um erro simples , onde o charAt() não está funcionando!
Código:
System.out.println( tfN5.getText().charAt(1)); //Deu erro
Poderia dizer -me porque não funcionou?
A mensagem de erro:
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
Esse erro dá quando você tenta acessar uma possição que é nula, provavelmente o char na posição 1 no caso ai não existe.
Exemplo:
ABC
Meu .charAt(1) me retornaria B
A
Meu .charAt(1) retornaria o erro que deu para você.
Quando trabalhar com posições sempre lembre de tratar elas e certificar que não vão ser nulas, um if(length >= 1) resolveria
1 curtida
Agora eu entendi! Voçê deve começar a contar os caracteres de 0 em diante. Eu estava contando a partir do 1.
Olha , agora deu certo
Meu exemplo arrumado:
System.out.println( tfN5.getText().charAt(0)); //Deu certo
//imprimiu 5
1 curtida
Vc não sabe algum outro método da class String , que lê somente o último caracter ?
seuTexto.substring(string.length() - 1));
1 curtida
entendi a sua lógica ! Obrigado!
Fefo80
#7