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

4 respostas
Mstanguine

Ola, boa tarde a todos!!

Estou com uma duvida referente ao uso de Try/Catch.

Segue o codigo:

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);

}
}

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.

4 Respostas

lina

Oi,

Sim…

Tchauzin!

T
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!

LucasAdri07

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).

Mstanguine

Obrigado a todos pelas resposta! =D

Criado 1 de junho de 2010
Ultima resposta 3 de jun. de 2010
Respostas 4
Participantes 4