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