Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2009, 08:35
oscarmoal
 
Fecha de Ingreso: marzo-2008
Mensajes: 63
Antigüedad: 16 años, 10 meses
Puntos: 0
pregunta basica con un switch

Hola nuevamente, a algunos les dará mucha risa lo que les voy a preguntar, y eso es que construi un switch dentro de un ciclo do while, ya saben el tipico switch (op), donde op es int, lo interesante es como hago para que cuando yo en vez de poner una de las opciones que me marca el menu y escribo un caracter o un texto, entonces la respuesta del programa en vez de mandarme una exeption simplemente me diga opcion no valida, esto es, por ejemplo si tengo opciones del 0 al 4 y yo tecleo la opción 5, la instrucción default me dice opción no valida, eso esta muy bien, pero si yo tecleo una "a", la instrucción default no funciona y me manda directo a una exeption y se sale del programa, lo que prentedo es que la instrucción default funcione tanto como para enteros, como para caracteres, de verdad estuve leyendo un poco de esto pero no lo he solucionado hasta el momento.

les dejo mi código

Código:
      int n1,n2,sum,res,div,multi; 
      int op;
      do
      {
         BufferedReader in =new BufferedReader(new InputStreamReader(System.in)); 
         System.out.println("  OPCIONES DISPONIBLES");
         System.out.println("");
         System.out.println(" 1. Sumar");
         System.out.println(" 2. Restar");
         System.out.println(" 3. Multiplicar");
         System.out.println(" 4. Dividir");
         System.out.println(" 0. Salir");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.println(" ");
         System.out.print(" TECLEE LA OPCION DESEADA SEGUIDA POR ENTER:  ");
         
         op = Integer.parseInt(in.readLine());
          
         switch(op)
         {
            case 1:
               System.out.print("introduce el primer numero " ); 
               n1 = Integer.parseInt(in.readLine()); 
               System.out.print("introduce el segundo numero " ); 
               n2 = Integer.parseInt(in.readLine());
               sum = n1 + n2; 
               System.out.println("la suma es: "+ sum);         
            break;
                   
            case 2: 
               System.out.print("introduce el primer numero " ); 
               n1 = Integer.parseInt(in.readLine()); 
               System.out.print("introduce el segundo numero " ); 
               n2 = Integer.parseInt(in.readLine());
               res = n1 - n2; 
               System.out.println("la resta es: "+ res); 
            break; 
             
            case 3: 
                //hace algo
            break; 

            case 4: 
                //hace algo
            break;              

            case 0: 
               System.out.print("Saliendo ... "); 
               System.exit(0);
            break;

            default: 
                System.out.print("eleccion incorrecta" );
            break;
                     
         }
      }
      while(op!=4);
      
   }  

}
Gracias por su ayuda.