Hola acabo de hacer mi primer programa en Java y de utilizar igualmente por vez primera el uso de excepciones try-catch. Mi duda es si cuando se genera la excepción, en este caso el introducir un carácter en lugar de un dígito, se puede evitar que pare o rompa la secuencia del programa. Es decir deseo que genere el aviso de "No se puede introducir caracteres" y posteriormente vuelva al menú de inicio. Dejo el código:
package paquete;
import java.util.Scanner;
import java.util.InputMismatchException;
public class Main {
public static void main
(String[] args
) { // TODO Auto-generated method stub
Scanner teclado
=new Scanner
(System.
in); int opcion,opcion2;
float numero,numero2;
try{
do{
System.
out.
println("******** CALCULADORA ********"); System.
out.
println("\n1- Realizar una operación"); System.
out.
println("2- Salir"); System.
out.
print("\nIntroduzca su opción: "); opcion=teclado.nextInt();
if(opcion==1){
System.
out.
print("\nIntroduzca el primer argumento: "); numero=teclado.nextInt();
System.
out.
print("\nIntroduzca el segundo argumento: "); numero2=teclado.nextInt();
System.
out.
println("\n1- Sumar"); System.
out.
println("2- Restar"); System.
out.
println("3- Multiplicar"); System.
out.
println("4- Dividir"); opcion2=teclado.nextInt();
switch(opcion2){
case 1:
System.
out.
println("El resultado de la operacion es: "+ (numero
+numero2
)); break;
case 2:
System.
out.
println("El resultado de la operacion es: "+ (numero
-numero2
)); break;
case 3:
System.
out.
println("El resultado de la operacion es: "+ (numero
*numero2
)); break;
case 4:
if(numero2>0)
System.
out.
println("El resultado de la operacion es: "+ (numero
/numero2
)); else{
System.
out.
println("\nEl divisor debe ser mayor de 0"); }
break;
default:
System.
out.
println("## Gracias por usar la Calculadora ##"); }
}
}while(opcion==1);
}catch (InputMismatchException ime){
System.
out.
println("No se puede introducir caracteres"); }
System.
out.
println("\nHasta Pronto!!"); }
}
Gracias!!