Ayuda con calculadora

Iniciado por painkillerpucela, 18 Diciembre 2008, 17:51 PM

0 Miembros y 1 Visitante están viendo este tema.

painkillerpucela

Buenas de nuevo a todos, el problema que tengo con este codigo es que me da error con la resta y ya no se a que puede ser debido, aqui os dejo el codigo:

import java.io.*;
public class Ej_01
{
   static double resultado;
   
   public static void main (String[]args)throws IOException
   {
      String Sumar="1";
      String Restar="2";
      String Multiplicar="3";
      String Salir="4";
      BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
      boolean end=false;
      
      while(end==false)
      {
         menu();
         String opcionescogida=teclado.readLine();
         
         if(opcionescogida.equals(Sumar))
         {
            Sumar();
         }
         if(opcionescogida.equals(Restar))
         {
            Restar();
         }
         if(opcionescogida.equals(Multiplicar))
         {
            Multiplicar();
         }
         if(opcionescogida.equals(Salir))
         {
            end=true;
         }
      
      }
   }



   public static void menu()
   {
      System.out.println("\n\nElija una opcion:");
      System.out.println("1-Sumar números");
      System.out.println("2-Restar números");
      System.out.println("3-Multiplicar números");
   }

   public static void Sumar()throws IOException
   {
      BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
      System.out.println("Introduzca el primer numero:");
      String num1=teclado.readLine();
      double numero1=Double.valueOf(num1).doubleValue();
      System.out.println("Introduzca el segundo numero:");
      String num2=teclado.readLine();
      double numero2=Double.valueOf(num2).doubleValue();
      resultado = numero1+numero2;
      System.out.println("El resultado es: "+resultado);
   }
   
   public static void Restar()throws IOException
   {
      BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
      System.out.println("Introduzca el primer numero:");
      String num1=teclado.readLine();
      double numero1=Double.valueOf(num1).doubleValue();
      System.out.println("Introduzca el segundo numero:");
      String numero2=teclado.readLine();
      double num2=Double.valueOf(num2).doubleValue();
      resultado = numero1 - numero2;
      System.out.println("El resultado es: "+resultado);
   }

   public static void Multiplicar()throws IOException
   {
      BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
      System.out.println("Introduzca el primer numero:");
      String num1=teclado.readLine();
      double numero1=Double.valueOf(num1).doubleValue();
      System.out.println("Introduzca el segundo numero:");
      String num2=teclado.readLine();
      double numero2=Double.valueOf(num2).doubleValue();
      resultado = numero1*numero2;
      System.out.println("El resultado es: "+resultado);
   }
}

Bueno un saludo a todos y espero que me podais ayudar

-Ramc-

Código (java) [Seleccionar]
   public static void Restar()throws IOException
   {
      BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
      System.out.println("Introduzca el primer numero:");
      String num1=teclado.readLine();
      double numero1=Double.valueOf(num1).doubleValue();
      System.out.println("Introduzca el segundo numero:");
      String numero2=teclado.readLine();
      double num2=Double.valueOf(num2).doubleValue();
      resultado = numero1 - numero2;
      System.out.println("El resultado es: "+resultado);
   }


numero2 es un String y haces:
resultado = numero1 - numero2;

Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.

painkillerpucela

Muchas gracias, es que no lo veia y me estaba volviendo loco xD
Venga un saludo!!!

Sk9ITk5Z

Man te recomienod que en ese tipo de casos tus variables sean enteros y dobles para los resultados... para evitarte problemas futuros con las operaciones...
Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.