Bom galera to tendo um problema aki pra pegar alguns valores
Eh o seguinte, tenho uma String com alguns valores inteiros separados por espaços, ex: 3 6 8
o que eu to tentando fazer eh o seguinte, preciso quantos numeros tem essa String e pegar esses valores e depois converte-los
converte-los eh tranquilo, mas nao to conseguindo pega os valores, alguem me da uma ajuda ae??
vlw desde ja. O codigo ta aki:
int contEsp = 0;//variavel q conta quantidades de espaço
String valores = JTFNum.getText();
String[] val = valores.split(" ");//separa no vetor os valores que serao pegos conforme a quantidade de espaço
for(int i = 0; i <= valores.length(); i++){
if(valores.charAt(i) == ' '){
contEsp++;
}
}
Então o problema está na condição de para do seu for
por exemplo se a frase que o usuario digitou for “forum Java” essa String tera 10 caracteres…
e no seu codigo for(int i = 0; i <= valores.length(); i++){ vc diz q o for só foi para quando i for maior que dez, ou seja, quando ele for onze
Ate ai blz, só q ai vc tenta recupera cada caracter só q primeiro caracter está na posição 0 e o ultimo está na posição 9 e como a sua condição de parada está em onze, ai quando i =10 ele vai tenta procura um caracter na posição 10 e não vai encontra nada… pq o ultimo caracter está na posição 9 … por isso que dá o erro…
[quote=SMatematico]
o que eu to tentando fazer eh o seguinte, preciso quantos numeros tem essa String
vlw desde ja. O codigo ta aki:
int contEsp = 0;//variavel q conta quantidades de espaço
String valores = JTFNum.getText();
String[] val = valores.split(" ");//separa no vetor os valores que serao pegos conforme a quantidade de espaço
for(int i = 0; i <= valores.length(); i++){
if(valores.charAt(i) == ' '){
contEsp++;
}
}[/quote]
Oi,
Sinceramente? Não entendi a verificação do IF e o contEsp. Outra coisa, a variável val está recebendo o conteúdo do seu split, sendo que não é utilizada em nada no seu código…
Poderia ser feito assim:
String valores = "1 2 3 4 5 6 7 8 9";
String[] val = valores.split(" ");//separa no vetor os valores que serao pegos conforme a quantidade de espaço
for(int i = 0; i < val.length; i++){
System.out.println(val[i]);
}