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);
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.
Esta función hace lo que quieres:
Math.pow(base, n);
;D
Cita de: 0xFer en 11 Junio 2016, 21:01 PM
Esta función hace lo que quieres:
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