Capturar os números digitados no jTextField

2 respostas
java
M

Prezados (as),

Tenho um jTextField onde o usuário digita uma sequência de números.
Exemplo: 1 2 3 4 5

Fiz este código:

Bloco de citação

public void Entra()

{

try

{

int M[] = new int[10];

String Campo1 = jTextField2.getText().replaceAll("[^0-9],\s","");

String[] str1 = Campo1.split("\s");

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

{

M[i]= Integer.parseInt(str1[i]);

}

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

{

System.out.println(M[i]);

}

} catch (NumberFormatException ex) {

JOptionPane.showMessageDialog(null,Digite somente números!);

}

}

Bloco de citação

O problema é o seguinte:

Se o usuário digitar corretamente com apenas 1 (um) espaço entre os números o código funciona corretamente.

Mas se tiver mais de 1 (um) espaço entre os números não funciona correamente.

Ou seja, como capturar os números digitados no jTextField de qualquer maneira que o usuário digitar.

Agradeço pela ajuda!

2 Respostas

A

Qual mensagem de erro aparece?

Testei o seu código aqui e tava dando um erro nesse trecho: ("\s"),

Nessas duas linhas

String Campo1 = jTextField2.getText().replaceAll("[^0-9],\s","");
String[] str1 = Campo1.split("\s");

tente assim

String Campo1 = jTextField2.getText().replaceAll("[^0-9],\\s","");
String[] str1 = Campo1.split("\\s");

Dessa forma funcionou com mais de um espaço entre os números.

M

Já tinha corrigido o split com o “\\s”.

Mas ainda não funciona corretamente pois quando tem mais de um espaço entre os números o código cai no Exception informando o JOptionPane.showMessageDialog(null,“Digite somente números!”);

Criado 24 de março de 2019
Ultima resposta 24 de mar. de 2019
Respostas 2
Participantes 2