Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Gabrieldeus en 11 Junio 2016, 16:25 pm



Título: CALCULADORA
Publicado por: Gabrieldeus en 11 Junio 2016, 16:25 pm
Necesito saber como se hace una calculadora que sume reste multiplique divida y tambien que potencie numeros y un exit. Alguien que sepa como se hace?
Tengo la idea de como hacer la calculadora basica pero no se como hacerle la potencia.
Dejo aqui como hacer la basica o por lo menos como pienso que es:
Scanner entrada = new Scanner(System.in);
      double numero1;
      double numero2;
      double resultado=0f;
      int opcion1;
      do{
      
         System.out.println("numero 1:"); 
      if (resultado == 0f){
      numero1 = entrada.nextDouble();
      }else{
      System.out.println("numero 2: ");
      numero2 = entrada.nextDouble();
      System.out.println("Operacion n1 suma n2 resta n3 multiplicacion n4 division n5 salir");
      opcion1 = entrada.nextInt();
      switch (opcion1){
      case 1: resultado = numero1 + numero2;
      break;
      case 2: resultado = numero1 - numero2;
      break;
      case 3: resultado = numero1 * numero2;
      break;
      case 4: resultado = numero1 / numero2;
      break;
      case 5: System.exit(0);
      default: System.out.println("Opción incorrecta");
      break;
      }
      System.out.println("Resultado"+resultado); 
      }while(opcion!=5);


Título: Re: CALCULADORA
Publicado por: windic en 11 Junio 2016, 17:18 pm
Gabrieldeus, esa calculadora podría a servir pero tiene un fallo, ya que la variable numero1 solo recibirá un valor en la primera vuelta del bucle while porque para el resto siempre se dará que resultado!=0f.

Arreglo(algo así):
Código:
Scanner entrada = new Scanner(System.in);
      double numero1;
      double numero2;
      double resultado=0f;
      int opcion1;
      do{
      
         System.out.println("numero 1:");  
      if (resultado == 0f){
      numero1 = entrada.nextDouble();
      resultado = 1f;
      }else{
      System.out.println("numero 2: ");
      numero2 = entrada.nextDouble();
      System.out.println("Operacion n1 suma n2 resta n3 multiplicacion n4 division n5 salir");
      opcion1 = entrada.nextInt();
      switch (opcion1){
      case 1: resultado = numero1 + numero2;
      break;
      case 2: resultado = numero1 - numero2;
      break;
      case 3: resultado = numero1 * numero2;
      break;
      case 4: resultado = numero1 / numero2;
      break;
      case 5: System.exit(0);
      default: System.out.println("Opción incorrecta");
      break;
      }
      System.out.println("Resultado"+resultado);
      resultado = 0f; // Cambio
      }while(opcion!=5);

Por otra parte para poder hacer funciones mas complejas como sin(), cos(), exp(), etc.
Debes utilizar la clase Math cuyos métodos son estaticos.


Título: Re: CALCULADORA
Publicado por: 0xFer en 11 Junio 2016, 21:01 pm
Esta función hace lo que quieres:

Código
  1. Math.pow(base, n);

 ;D


Título: Re: CALCULADORA
Publicado por: DarK_FirefoX en 12 Junio 2016, 15:19 pm
Esta función hace lo que quieres:

Código
  1. Math.pow(base, n);

 ;D


Igual si no quieres usar la función Math.pow() puedes hacer un proceso muy sencillo para calcular la potencia. Iterando con un ciclo desde 1 hasta la potencia que quieres encontrar, e ir multiplicando una variable (inicializada en 1) por la base tantas veces como se ejecute el ciclo.

Salu2s