CALCULADORA

Iniciado por Gabrieldeus, 11 Junio 2016, 16:25 PM

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

Gabrieldeus

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);

windic

#1
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í):
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.

0xFer

Esta función hace lo que quieres:

Código (java) [Seleccionar]
Math.pow(base, n);

;D
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

DarK_FirefoX

Cita de: 0xFer en 11 Junio 2016, 21:01 PM
Esta función hace lo que quieres:

Código (java) [Seleccionar]
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