Ola, boa tarde a todos!!
Estou com uma duvida referente ao uso de Try/Catch.
Segue o codigo:
[code]public static void main(String[] args){
int i=0,j=0, c=0;
try{
i = Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor: "));
j = Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor: “));
c= i+j;
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null, “DIGITE SOMENTE NUMEROS”,“ERRO”, JOptionPane.ERROR_MESSAGE);
}
System.out.println(” "+c);
}
}[/code]
A duvida seria, como faço, para que quando o aplicativo caia no “catch”, ao inves de fechar o programa, ele volte do começo.
Deve-se usar algum laço de repetição?..Pensei em Do/While…Daria certo?
Ou pelo proprio Try/Catch, ha alguma maneira do programa repetir após a mensagem de erro?
Sou bem leigo no assunto ainda, quem puder ajudar, agradeço.
public class Main {
public void recebeNumeros(){
int i=0,j=0, c=0;
try{
i = Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor: "));
j = Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor: "));
c= i+j;
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null, "DIGITE SOMENTE NUMEROS","ERRO", JOptionPane.ERROR_MESSAGE);
//Chama a recebeNumeros novamente
recebeNumeros();
}
System.out.println(" "+c);
}
public static void main(String[] args) {
new Main().recebeNumeros();
}
}
Dessa forma funciona!
Você também pode fazer uma pergunta para voltar, por exemplo, deseja voltar, sim ou não.
Ex:
encerrar = JOptionPane.showInputDialog("Deseja continuar? Digite S para Sim ou N para Não");
if (encerrar.equalsIgnoreCase("n"))
{
break;
}
Colocar uma String “encerrar” = n
Dentro de um While (true).
Obrigado a todos pelas resposta! =D