Buenas:
Estoy haciendo pruebas del Try y Catch. Se trata de que detecte los errores InputMismatchException por si pongo alguna letra en vez de un número en una división y ArithmeticException por si intento dividir por cero pero no pasa nada.
El código que he hecho hasta ahora es este.
try{
double resultado;
Scanner teclado=new Scanner(System.in);
System.out.println("Introduce un numerador: ");
double numerador = teclado.nextDouble();
System.out.println("Introduce un denominador: ");
double denominador = teclado.nextDouble();
resultado = numerador / denominador;
System.out.println("El numerador " + numerador + " entre el denominador "
+ denominador + " es: " + resultado);
}
catch (InputMismatchException e){
System.out.println("Haz introducido algún carácter. \n");
}
catch (ArithmeticException d){
System.out.println("No puedes dividir por cero.\n");
}
}
Por si acaso, he puesto estos import.
import java.io.*;
import java.util.*;
import java.lang.Exception;
import java.lang.Error;
;)
Hola. Prueba a poner numerador y denominador como integers. La división por 0 debería dar infinito, pero no se puede representar infinito en integer, por eso salta la ArithmeticException. En cambio en coma flotante si se puede representar y por eso te funciona.