Meu velho, estou a duas horas tentando entender porque cacetadas essa substring não está funcionando!!! :evil: :evil: :evil: :evil:
Alguém consegue ver o que eu não vejo :?: :?: :?: :?:
String [] aux3 = aux2.split(" ");
for (int i = 0; i < aux3.length; i++) {
String aux = aux3[i].substring(0,10);
conteudo.setText(conteudo.getText().toString() + aux + "\n\n" );
}
// Se eu colocar para mostar os valores de aux3[i] funciona, mas quando uso substring das 10 primeiras letras, não pega!
// PS: A String tem mto mais de 10 letras....
substring gera excecão quando voce passar um parametro maior que a string, ex:
se voce passar 0, 10 e a string for mentor que 10 vai dar pau.
provavelmente o valor da string aux2 é menor que 10
[quote=mauricioadl]substring gera excecão quando voce passar um parametro maior que a string, ex:
se voce passar 0, 10 e a string for mentor que 10 vai dar pau.
provavelmente o valor da string aux2 é menor que 10[/quote]
mais o aux2 ele so usou pra dar o split…ele esta dando substring no array aux3
mas eh isso mesmo. depois do split no aux2 as strings ficam menores que 10 dae ele tenta dar substring nelas e da exception
[code]
// isso da exception aux2 eh pequena
String aux2 = "m a";
String [] aux3 = aux2.split(" ");
for (int i = 0; i < aux3.length; i++) {
String aux = aux3[i].substring(0,10);
System.out.println(aux3[i]);
System.out.println(aux);
}
// isso nao dá porque aux2 eh grande
String aux2 = "mauricioalvesdelima";
String [] aux3 = aux2.split(" ");
for (int i = 0; i < aux3.length; i++) {
String aux = aux3[i].substring(0,10);
System.out.println(aux3[i]);
System.out.println(aux);
}[/code]
[quote=felipebonezi]Meu velho, estou a duas horas tentando entender porque cacetadas essa substring não está funcionando!!! :evil: :evil: :evil: :evil:
Alguém consegue ver o que eu não vejo :?: :?: :?: :?:
String [] aux3 = aux2.split(" ");
for (int i = 0; i < aux3.length; i++) {
String aux = aux3[i].substring(0,10);
conteudo.setText(conteudo.getText().toString() + aux + "\n\n" );
}
// Se eu colocar para mostar os valores de aux3[i] funciona, mas quando uso substring das 10 primeiras letras, não pega!
// PS: A String tem mto mais de 10 letras....
Abraço :? [/quote]
no comentario ai abaixo ele garante q tem mais de 10 letras…
[quote=Lucas Abbatepaolo][quote=felipebonezi]Meu velho, estou a duas horas tentando entender porque cacetadas essa substring não está funcionando!!! :evil: :evil: :evil: :evil:
Alguém consegue ver o que eu não vejo :?: :?: :?: :?:
String [] aux3 = aux2.split(" ");
for (int i = 0; i < aux3.length; i++) {
String aux = aux3[i].substring(0,10);
conteudo.setText(conteudo.getText().toString() + aux + "\n\n" );
}
// Se eu colocar para mostar os valores de aux3[i] funciona, mas quando uso substring das 10 primeiras letras, não pega!
// PS: A String tem mto mais de 10 letras....
Abraço :? [/quote]
no comentario ai abaixo ele garante q tem mais de 10 letras…[/quote]
pode ser que o slipt nesse caracter esquisito esteja quebrando a string dele e ele nao esta percebendo.
Não fique batendo a cabeça. substring “puro” não funciona do jeito que você quer, e sim do jeito que está documentado. Se quiser que ele funcione do jeito que você quer, use o esquema do “Math.min” que lhe indiquei acima.
É o seguinte, estou produzindo um aplicativo Android na qual eu “roubo” um conteúdo HTML de uma página. Quando eu dou o encoder desse html para String ele me retorna valores que não estão contidos no padrão de Encoding do Android (Cp1252) e sim em UTF-8. Quando eu converto o Enconding utilizando Bytes para o padrão do Android, começa essa bronca de não funcionar esse substring…
Estou começando a achar que o Enconding não está deixando o substring identificar o padrão da String…
String qualquer = "Felipe Bonezi É Burro Pra Cacete";
String aux1 = qualquer.substring(0,10);
// aux1 == "Felipe Bon"
String aux2 = qualquer.substring(11);
// aux2 == "ezi É Burro Pra Cacete"
Estou correto? :S
O problema é que o substring não está funcionando aqui e está dando a Exception IndexOutOfBounds
:/[/quote]
Fala Felipe…
Cara é o seguinte…
No seu método você esta fazendo o Split…
String [] aux3 = aux2.split(" ");
Da uma conferida se todas as posições do seu array esta com mais de 10 caracteres!
Porque se você fizesse…
String qualquer = "Felipe Bonezi É Burro Pra Cacete";
String [] aux3 = qualquer.split(" ");
String aux = aux3[0].substring(0,10); // A posição do aux[0] = Felipe, e Felipe so contém 6 caracteres