Olá, pessoal,
tenho o seguinte código:
package kamatue;
// @SuppressWarnings("unused")
public class Processador {
public static String recepcao = "Se for bebê, não dirija! Espere até completar 18 anos.";
static String[] parte;
public static void main(String[] arg){
parte = recepcao.split(" ");
for (int i = 0; i <= recepcao.length(); i++) {
System.out.println(parte[i]);
}
}
}
e ele dá o seguinte erro:
Se
for
bebê,
não
dirija!
Espere
até
completar
18
anos.
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 10
at kamatue.Processador.main(Processador.java:12)
Como posso resolver isso?
É alguma coisa muito básica. Eu consegui meu objetivo de dividir a string.
Agradecido
Lucas
O menor-igual no For e tb usar o array que vc esta acessando
for (int i = 0; i < parte.length(); i++) {
System.out.println(parte[i]);
}
Você pode usar o foreach
for (String string : parte) {
System.out.println(string);
}
public class kamatue {
public static String recepcao = "Se for bebê, não dirija! Espere até completar 18 anos.";
static String[] parte;
public static void main(String[] arg){
parte = recepcao.split(" ");
for (String parte : kamatue.parte) {
System.out.println(parte);
}
}
}
…
[quote=lucasribeiro]Olá, pessoal,
tenho o seguinte código:
package kamatue;
// @SuppressWarnings("unused")
public class Processador {
public static String recepcao = "Se for bebê, não dirija! Espere até completar 18 anos.";
static String[] parte;
public static void main(String[] arg){
parte = recepcao.split(" ");
for (int i = 0; i <= recepcao.length(); i++) {
System.out.println(parte[i]);
}
}
}
e ele dá o seguinte erro:
Se
for
bebê,
não
dirija!
Espere
até
completar
18
anos.
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 10
at kamatue.Processador.main(Processador.java:12)
Como posso resolver isso?
É alguma coisa muito básica. Eu consegui meu objetivo de dividir a string.
Agradecido
Lucas
[/quote]
O erro é apresentado por que você está percorrendo parte[] com o tamanho de recepção[], como recepcao.length() é maior do que parte.length() a exceção é lançada.
Sacou?

James
Pessoal, deu certo…
Consegui o mesmo resultado sem a exception.
fabriciov, o método length() inclui o terminador na contagem, né? Pois se não, nunca vai ler o último caractere… E o que mesmo o for each faz?
gusthavosouza, dos baixios da minha ignorância, eu dou um palpite: tudo, antes de ser de qualquer outro tipo, é uma string em java.
james_lisboa, puts, é mesmo!
Valeu pessoal
Lucas