Exibir mensagem de erro para o usuário que digitou uma letra e não um número!

Olá, pessoal!

Como faço para emitir ao usuário uma mensagem de erro dizendo que ele digitou uma letra e não um número e pede pra ele entrar com um número??? (Abaixo tem mais ou menos como tenho feito até então…)

[color=blue]/**Programa que lê 2 números do usuário e mostra a soma *deles
*se o usuário digita uma letra ao invés de um número

  • o programa emite uma mensagem de erro e pede para inserir um
    número/[/color]

import javax.swing.*;
public class Programa11
{

public static void main(String[] args)
{
int a=0,b=0;
try{//entrada do número1 pela Caixa de Dialogo
String numero1 = JOptionPane.showInputDialog(“Entre com um número”);
a=Integer.parseInt(numero1);
//entrada do número2 pela Caixa de Dialogo
String numero2 = JOptionPane.showInputDialog(“Entre com um número”);
b=Integer.parseInt(numero2);

} catch(NumberFormatException e){
JOptionPane.showMessageDialog(null, “ERRO! Digite um número!”);
}
}

}//fim da classe Programa11

Olá Sara

olha só , o que vc quer fazer não é uma coisa muito apropriada , vc poderia
usar vários outros recursos pra vc calcular dois números , mais c é isso que quer eu fiz um exemplinho uma gambiarra que para o seu caso funciona perfeitamente

[code]int a=0,b=0;

    //ler o primeiro numero
    while(true){
        try{
            String numero1 = JOptionPane.showInputDialog("Entre com um número");
            a=Integer.parseInt(numero1); break;
        }catch(NumberFormatException ex){
            JOptionPane.showMessageDialog(null, "ERRO! Digite um número!");
            continue;
        }
    }
    
    //ler o segundo numero
    while(true){
        try{
            //entrada do número2 pela Caixa de Dialogo
            String numero2 = JOptionPane.showInputDialog("Entre com um número");
            b=Integer.parseInt(numero2); break;
            
        }catch(NumberFormatException ex){
            JOptionPane.showMessageDialog(null, "ERRO! Digite um número!");
            continue;
        }
    }
    JOptionPane.showMessageDialog(null,"A soma dos números e:::" + (a+b));
}[/code]

bom espero ter te ajudado

Olá Sara,

Por que aos invés de utilizar Integer.parseInt(numero1) você não usa a classe Character?

             while (!ehdigito){
                    String numero1 = JOptionPane.showInputDialog("Entre com um número");
                     ehdigito = Character.isDigit(numero1 .charAt(i));
                     if(!numero1){

                           JOptionPane.showMessageDialog(null, "ERRO! Digite um número!");
                     }

             }

Ok, obrigada!

Era uma questão de tratamento de exceção, resolvida
com uma boolean, try e catch!

Valeu, obrigada mesmo!

Usa expressões regulares, o código fica mais limpo…
tem um tutorial aqui no GUJ q um dos criadores da Caelum, o Paulo Silveira fez…
http://www.guj.com.br/java.tutorial.artigo.1.1.guj