Duvida... Recursividade em switch e Tratamento de erros

1 resposta
T

[b]Ae galera… tenho uma dúvida, talvez possam me ajudar…
Como posso utilizar alguma recursividade dentro do switch?

É o seguinte, criei um menu de opções que chamarão métodos de outra classe no mesmo projeto, e utilizei um tratamento de erros para entrada apenas de valores “int” com 6 opções de “case”, porém se digito algum valor string por exemplo, me mostra a mensagem do tratamento de erros e sai do programa, NÃO retorna ao menu… e o mesmo acontece quando digito algum valor inteiro acima das minhas opções…

Se alguém me der uma luz aee, fico muito agradecido… desde já, obrigado!!
O código é este:[/b]

import javax.swing.*;
import java.lang.NumberFormatException;

public class Teste_formas {
public static void main(String args[]) {

int opcao;

Formas fo = new Formas();

try {

switch (opcao = Integer.parseInt(JOptionPane.showInputDialog(“1 - Quadrado \n” +
“2 - Retangulo \n” +
“3 - Triangulo \n” +
“4 - Cubo \n” +
“5 - Paralelepípedo \n” +
“6 - Sair \n\n” +
“Escolha a Opção Desejada”)
)) {

case 1: fo.Quadrado();

break;

case 2: fo.Retangulo();

break;

case 3: fo.Triangulo();

break;

case 4: fo.Cubo();

break;

case 5: fo.Paralelepipedo();

break;

case 6: JOptionPane.showMessageDialog(null, Sair do Programa);

break;

default: JOptionPane.showMessageDialog(null, Opção Diferente \n O Programa será finalizado!);

break;

} // fim do switch

System.exit(0);

} // fim do try

catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null,“Caracter Inválido!”);

}

} // fim do main

} // fim da classe

1 Resposta

S

A minha sugestão é fazeres uma função especifica que mostra o menu (e tudo mais que quiseres),ou seja, o switch estará dentro dessa função. No default, chamas a função da mesma forma que chamas a função também no tratamento da excepção (catch…).

Espero ter sido útil.

Criado 21 de maio de 2009
Ultima resposta 27 de mai. de 2009
Respostas 1
Participantes 2