Verificação de string se valor inteiro[RESOLVIDO]

3 respostas
vanessa.tenorio

Boa tarde, pessoal!!!

Poderiam me ajudar realizar uma condição que pegasse uma string e verificasse se a mesma é um valor inteiro?

Eu fiz:

String data = jTextFieldAno.getText();
            int ano = Integer.parseInt(data);

            if (( ano % 1) == 0)
            {
            //inteiro
           else
           {
             JOptionPane.showMessageDialog(null, "Ano Incorreto!", "Erro", JOptionPane.ERROR_MESSAGE);
                jTextFieldAno.setText("");
            }

Porém este código apenas aponta erro se eu entrar com um número decimal, gostaria que ele tambem apontasse erro quando entro com uma letra.

Grata a todos!!!

3 Respostas

E

Integer.parseInt gera uma exceção quando você entra com qualquer coisa que não dígitos.

Trate a exceção (NumberFormatException).

davidbuzatto

Usando o que o entanglement disse, você pode implementar um método estático desta forma.public static boolean ehInteiro( String valor ) { try { Integer.parseInt( valor ); return true; } catch ( NumberFormatException exc ) { } return false; }

vanessa.tenorio

davidbuzatto e entanglement, muito obrigada pela maravilhosa contribuição!!!

Inseri o método ehInteiro() e meu problema resolveu imediatamente!

MUITO OBRIGADA!!!

Criado 31 de outubro de 2012
Ultima resposta 31 de out. de 2012
Respostas 3
Participantes 3