Laço de repetição usando Try/Catch [Resolvido]

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.

Oi,

Sim…

Tchauzin!

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