Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: ggomez115 en 20 de Marzo 2016, 05:00
-
Buenos días, estimados estoy comenzando a programar en java y viendo un poco el tema de las excepciones en este lenguaje.
Necesito un programa que utilice excepciones y sea 100% funcional para rendir mi primer parcial, mi idea es sencilla y clara, una clase en java llamada divisiones, la cual divida un numero por otro ingresados por el usuario y le muestre el resultado.
Las excepciones que me gustaría salvar es la famosa división por 0, y mostrar un msj en caso de que el usuario en vez de poner un numero coloque una letra.
.En la imagen "Excepciones" les muestro el código, para que vean como lo hice.
https://www.dropbox.com/s/b6m8ci8tl0kv5gt/Excepciones.jpg?dl=0
.En la imagen "división por 0" les muestro el msj que emite el programa cuando al ejecutarlo coloco como divisor un 0, en vez de mostrarme el msj de excepción me muestra "Resultado= Infinity"
https://www.dropbox.com/s/36igpgxolm095kf/division%20por%200.jpg?dl=0
.En la imagen "Ingresar numero" les muestro el msj que emite cuando al ejecutarlo en vez de ingresar un numero, ingreso una letra. Me muestra el msj colocado en la excepción, pero después me emite un error que desconozco como solucionar.
https://www.dropbox.com/s/wxbiciwi0jdkaml/ingresar%20numero.jpg?dl=0
Aguardo comentarios.
Saludos
-
Hola!
Es preferible que pegues el código como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 en lugar de incluir imágenes
En este curso puedes ver los conceptos básicos de Java
En este curso puedes leer algo sobre excepciones: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180
Para poder ver por qué te surgen errores pega el código donde tienes el error y explica dónde te aparece el error
Saludos!
-
Hola 2 cosas:
Te marca Infinity porque tu tipo de dato es float y cuando estas dividiendo hace esto:
5.0/0.0 = infinity esto es porque 0.0 no es considerado como 0 para que te de error por dividir por 0 tendrían que ser tanto el dividendo como el divisor int para que mande el error ArithmeticException.
La otra tu error sale por que cuando tratas de leer un carácter con
bandera = entrada.nextInt();
está claro que un carácter no es un int por eso te manda ese error :o
Saludos