[RESOLVIDO]Problemas com pegar dados String

12 respostas
S

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

12 Respostas

Rodrigo_Sasaki

valores[i] não retorna o número que você quer? como vem essa String?

S

nao, pq eu preciso saber quantos espaços tem na String, pq depois vo precisar fazer um laço q vai depender desse valor.
A String sera digitada pelo usuario, entao pode ser qualquer numero e quantidade q ele quiser, soh q terao q ser separados
por um espaço.entendeu?

Rodrigo_Sasaki

Certo, mostre um exemplo dessa String pra mim. Qualquer String nesse formato que seja válida para aquilo que você quer.

e outra coisa, os números vão de 0 a 9? ou podem ter mais de 1 digito? Ex: 10, 100, 3898?

S

Ela pode ser de quantos digitos o usuario quiser
Ex: 3 25 100
eu teria q basicamente contar os espaços e armazenar os valores separados, armazenar os valores eu
consegui, mas contar os espaços aki nao ta dando muito certo.

Rodrigo_Sasaki

Use uma expressão regular no seu split:String[] val = valores.split("\\s+");

F
public static void main(String[] args) {
		Pattern p=Pattern.compile("\\s");
		Matcher m= p.matcher("ff ff ff");
	while(m.find()){
		
		System.out.println(true);
	}
		
	}
Tá aí na mão meu chapa, esse código imprime os espaços vazios, só coloca a lógica aí! :lol:
F

É sempre esse padrão?? Ou pode ter mais de um espaço entre os números?

Se for sempre assim, seu contEsp vai ser val.lenght - 1. Não é?

JuniorMaia

Havia necessidade de 2 tópicos iguais?

Rodrigo_Sasaki

Se o objetivo dele era contar os espaços simplesmente para removê-los, o split com o multiplicador + ja mata o problema.

AlexsandroJava
Um exemplo poderia ser este :
String s = "8 100 9 1289 100";
		String[] valores = s.split("\\s");
		for (String string : valores) {
			System.out.println(string);//Imprimi usando um foreach todos os valores
		}
		
		Matcher m = Pattern.compile("\\s").matcher(s);
		int espacos = 0;
		while(m.find()){
			espacos++;//conta todos os espaços em branco existentes
		}
		System.out.println(espacos);
S

Vlw ai funciono certim, vlw mesmo cara…
aaaa e o otro topico q criei foi engano desculpa ai, eh q sou novo aki, sei q nao justifica, mas desculpa de qualquer forma…abrass

JuniorMaia

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

Criado 16 de maio de 2012
Ultima resposta 16 de mai. de 2012
Respostas 12
Participantes 6