sobre excepciones

lillotero79
23 de Mayo del 2005
me sale un error cuando intento dividir algo por cero, no se q exception usar y como, agradeceria vuestra ayuda.Otra cuestion es que al leer de teclado se salta la linea.A continuacion os pongo el codigo y me decis que debo hacer si no os importa.
Muchas gracias...

import java.io.InputStream;

// import java.lang.ArithmeticException.*;

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

{
int opcion,resul;
char op='0',resp='n';
int x=-15,y=0 ;
Menu men=new Menu();

do{
do
{
op=men.menu();


switch(op)
{

case '1':
resul=x + y;
System.out.println(x + " + " + y + " = " + resul);
break;
case '2':
resul=x - y;
if(x<y) System.out.println("El resultado va a ser negativo...");
System.out.println(x + " - " + y + " = " + resul);
break;
case '3':
resul=x / y;
if(y==0){ System.out.println("El denominador es 0, lo cambiaremos por 1 ");
y=1;}
System.out.println(x + " / " + y + " = " + resul);
break;
case '4':

resul=x * y;
System.out.println(x + " * " + y + " = " + resul);
break;

default:
System.out.println("introduce otro numero anda espabilbao...");
} break;

}while(opcion <1 || opcion > 5);

System.out.println("Desea continuar? (s,n)");
try
{
resp=(char)System.in.read();
}
catch(Exception ex)
{
ex.printStackTrace();
}

}while(resp=='s' || resp=='S');
}


char menu()
{

char opc='0';

System.out.println("MENU DE OPCIONES");

System.out.println("1.- Suma" );
System.out.println("2.- Restar" );
System.out.println("3.- Dividir" );
System.out.println("4.- Multiplicar" );
System.out.println("5.- Salir" );


System.out.println("Elige la opcion (1-5)");
try
{
opc=(char)System.in.read();
}
catch(Exception ex)
{
ex.printStackTrace();
}
return opc;
}

}

sal00m
23 de Mayo del 2005
Pues a ver.... el tema de la excepcion, si ejecutas tu propio codigo veras que al elegir la opcion 3 salta la excepcion, que en este caso es java.lang.ArithmeticException, lo que quieras hacer con ella.... ya es cosa tuya jejeje

Sobre lo del teclado no se muy bien a lo que te refieres asi que si puedes ser mas explicito mejor jejej

saludos

lillotero79
23 de Mayo del 2005
tranqui ya lo he solucionado..., era por culpa del los flujos.