pois conforme coloquei o script, se é digitado um número inteiro funciona normalmente…mas se digitado uma string, ou valor double, float, seja qual for diferente de inteiro vai dar erro…
o que quero é tratar esse erro de forma apenas a voltar para o inicio, ou seja, a chamada da Input…entendes ?!
G
GodZilla_XF
Danleonhart:
GodZilla_XF
Não entendi… :shock:
pois conforme coloquei o script, se é digitado um número inteiro funciona normalmente…mas se digitado uma string, ou valor double, float, seja qual for diferente de inteiro vai dar erro…
o que quero é tratar esse erro de forma apenas a voltar para o inicio, ou seja, a chamada da Input…entendes ?!
Olha, eu sou meio assim de fazer gambiarras, mas vc pode fazer isso
publicvoidfazerOQueTemQueFazer(){try{// aqui dentro voce faz o que tem que ser feito, e se gerar um exception ele faz uma chamada recursiva ao metodo em questao.}catch(Exceptione){fazerOQueTemQueFazer();}}
Danleonhart
É usando try catch que quero fazer…
mas da maneira que você exemplifica tenho que colocar o script em um método e chamá-lo no main()…
e caso haja um erro, através do catch chamaria novamente este método, correto ?!
estou tentando fazer tudo dentro do main()…mas acho que só vai assim mesmo :-o
[color=brown]Crie um algoritmo que deveremos escrever de 1 a 20 e se escrevemos algum fora da ordem deve gerar uma mensagem de erro pedindo para digitar correto[/color]
Então, fiz assim:
// Importando classe Java:importjavax.swing.*;publicclassJavaExec4{publicstaticvoidmain(String[]args){// Iniciando aplicação a partir de método personalizado (com parâmetro):Checagem(1);}// Método personalizado de inicialização da aplicação:publicstaticvoidChecagem(intnum){// Iniciando rotina:for(;num<=5;num++){intn=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite de 1 a 20 em ordem...",num+"º Valor",1));/* Condição de verificação: se o número informado for diferente da sequência o método "pega" o último valor da sequência e reinicia o método. O "return" é para sair do "for"... senão o ciclo continuaria...*/if(n!=num){JOptionPane.showMessageDialog(null,"Digite na ordem numérica !","Aviso !",1);Checagem(num);return;}}}}
Estou colocando comentários pois o Instrutor está exigindo…