Problemas com pegar dados String

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++; } }

   [code]String valores = JTFNum.getText();   
   for (char c : valores.toCharArray())     
      System.out.println(c);[/code]

agora é só pegar o valores e aplicar o Parseint para conversão

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…

Solução é tira o “=”

 for(int i = 0; i < valores.length(); i++){

Entedeu ? :slight_smile:

[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]); }

Tchauzin!

Só pra avisar todo mundo que vier aqui, esse post é duplicado e já foi resolvido.

http://guj.com.br/java/273087-resolvidoproblemas-com-pegar-dados-string