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:
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:
break;
case 4: fo.cubo();
break;
case 5:
break;
case 6: JOptionPane.showMessageDialog(null, "Sair do Programa");
break;
default: return ;//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