Foro de elhacker.net

Programación => Java => Mensaje iniciado por: painkillerpucela en 18 Diciembre 2008, 17:51 pm



Título: Ayuda con calculadora
Publicado por: painkillerpucela en 18 Diciembre 2008, 17:51 pm
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


Título: Re: Ayuda con calculadora
Publicado por: -Ramc- en 18 Diciembre 2008, 17:56 pm
Código
  1.   public static void Restar()throws IOException
  2.   {
  3.      BufferedReader teclado = new BufferedReader (new InputStreamReader(System.in));
  4.      System.out.println("Introduzca el primer numero:");
  5.      String num1=teclado.readLine();
  6.      double numero1=Double.valueOf(num1).doubleValue();
  7.      System.out.println("Introduzca el segundo numero:");
  8.      String numero2=teclado.readLine();
  9.      double num2=Double.valueOf(num2).doubleValue();
  10.      resultado = numero1 - numero2;
  11.      System.out.println("El resultado es: "+resultado);
  12.   }

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


Título: Re: Ayuda con calculadora
Publicado por: painkillerpucela en 18 Diciembre 2008, 18:30 pm
Muchas gracias, es que no lo veia y me estaba volviendo loco xD
Venga un saludo!!!


Título: Re: Ayuda con calculadora
Publicado por: Sk9ITk5Z en 19 Diciembre 2008, 21:40 pm
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...