importjavax.swing.JOptionPane;classconv{publicstaticvoidmain(Stringargs[]){Stringtexto=JOptionPane.showInputDialog(null,"Digite os números a serem convertidos:","Conversão de Decimal para Binário",JOptionPane.WARNING_MESSAGE);intdecimal=Integer.parseInt(texto);if(decimal==0){JOptionPane.showMessageDialog(null,"O código binário é 0","Convertido",JOptionPane.INFORMATION_MESSAGE);}elseif(decimal==1){JOptionPane.showMessageDialog(null,"O código binário é 1","Convertido",JOptionPane.INFORMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"O código binário é ?","Problemas",JOptionPane.INFORMATION_MESSAGE);}try{decimal=Integer.parseInt(texto);}catch(NumberFormatExceptione){JOptionPane.showMessageDialog(null,"Digite apenas números!!!","Problemas",JOptionPane.ERROR_MESSAGE);}}}
Como vocês podem ver eu estava tentando enviar uma mensagem de erro caso digitassem letras ao invés de números, mas não estou conseguindo, alguém pode me ajudar, acho que o try não está certo..
Se a excessão NumberFormatException está sendo lançada é no primeiro Integer.parseInt(texto), mude o try para antes dele.
crisbortolanza
Vlw cara era isso mesmo, eu já tinha tentado deixar o try lá em cima, mas sempre depois do Integer.parseInt(texto)…
Vlw de novo…
crisbortolanza
Tá eu fiz uma pergunta onde o cara só pode digitar números… Sendo assim quando ele digita letras da um erro em exception, mas quando eu dou OK na caixinha fecha tudo…
Não tem como aparecer o erro e quando eu dar OK na caixa de erro, pedir novamente para digitar a resposta???
crisbortolanza
Não sei se fui bem claro nisso…
Quando executo a primeira telinha pede para digitar números, se digito números dá certo…
Quando digito letras aparece uma telinha dizendo: Digite apenas números (showMessageDialog), daí eu aperto OK e fecha essa tela de erro, mas eu queria que aparecece novamente a primeira telinha que pede para digitar números…
Vlw…
leoramos
Joga o bloco dentro de um while que teste essa condição =)
crisbortolanza
Na verdade eu usei um try para ver se o que foi digitado era número ou não, e um catch para o NumberFormatException e… isso muda alguma coisa???
vlw…
crisbortolanza
O while é uma estrutura de repetição?
Daí no caso só iria repetir se o cara digitasse letra ou sempre???
crisbortolanza
Tá eu não entendi o que eu tenho que fazer
Alguém me explica???
Marky.Vasconcelos
Eu sei duas soluções a primeira é com um while que tenta até ser apenas numeros
Ou a maneira mais viavel é criar um dialog que ao invés do JTextField para digitar tenha um FormattedTextField com uma mascara que aceite apenas numeros.
Eu não sei direiro como fazer essa segunda mas á a melhor ideia