Problema com isDigit

6 respostas
alisson027

ele só tem que ver se o que foi digitado são numeros ou letras

String veri =jTextField1.getText(); boolean resultado = Character.isDigit( veri ); //erro aqui if(resultado == true){ System.out.println("numero"); }else{ System.out.print("letras"); }
EDIT:
O erro é q ele não ta aceitando a variavel veri, nunca mexi com isDigit,deve ser um erro bobo, mas q eu to apanhando dele eu to haushsuha
alguem me pode me explicar o que eu estou errando?

6 Respostas

sowyer

Perguntinha simples que faz toda a diferença: QUAL O ERRO ?

R

esse método isDigit recebe um char… e vc ta passando uma String pra ele

alisson027

e como faria para verificar uma String?

T

Fala aí bele?

Utiliza regex, para ver se a palavra contém numero, segue 1 exemplo:

String palavra = "teste01";
		Pattern pattern = Pattern.compile("[0-9]");  
		Matcher match = pattern.matcher(palavra);  
		
		if (match.find()) {
			System.out.println("contem numero");
		} else {
			System.out.println("nao contem numero");
		}
nel

Isso resolve sua necessidade, mas, podemos fazer algo bem mais simples, ó:

suaString.matches("[0-9]");

Como o tiralo demonstrou, é um método booleano.
Sendo assim, só retorna true caso tenha somente números.

Abraços.

R

da pra fazer assim tb… desse modo vc verifica apenas o digito na posicao 0 o q nao eh o ideal mas serve pro seu caso… =)

String veri =jTextField1.getText();  
  char[] array = veri.toCharArray();
  boolean resultado = Character.isDigit( array[0] ); 
  if(resultado == true){  
      System.out.println("numero");  
  }else{  
        System.out.print("letras");  
  }
Criado 22 de março de 2011
Ultima resposta 23 de mar. de 2011
Respostas 6
Participantes 5