Boa tarde!
estou tentando resolver o seguinte exercício : Escreva um programa para ler uma quantidade indeterminada de palavras (o programa termina ao ser informado uma palavra que começa com a letra ‘f’). Para cada palavra informada (incluindo a última) escrever a primeira e a última letra.
através do código que criei, pela meu ponto de vista era pra funcionar kkk, mas ao digitar a primeira palavra ele imprime a primeira letra e em seguida gera um erro, segue o código e em seguida o erro:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
char exit = 'f';
int i = 0;
String palavra = "";
while (true) {
if (i == 0) {
i++;
System.out.println("Digite uma palavra e pressione ENTER:");
palavra = in.nextLine();
} else if (palavra.charAt(0) != exit) {
System.out.println("Digite a próxima palavra. "
+ "Para encerrar a digitação, digite uma palavra com f e pressione ENTER");
palavra = in.nextLine();
}
int x = palavra.length();
System.out.println(palavra.charAt(0));
System.out.println(palavra.charAt(x));
}
}
O erro que está dando é este:
Digite uma palavra e pressione ENTER:
ana
a
Exception in thread “main” java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.lang.String.charAt(Unknown Source)
at exercicios.Exercicio15.main(Exercicio15.java:29)
Alguem pode me ajudar!?