calculadora en java

Iniciado por cracken422, 10 Julio 2012, 22:09 PM

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

cracken422

como hacer las funciones multiplicacion, division y potencia en java solo con la funcion suma y resta


primero hice la funcion suma

               case1:   IOConsole.println("Ingrese el primer sumando");
                           a=IOConsole.readInt();
                           IOConsole.println("Ingrese el segundo sumando");
                           b=IOConsole.readInt();
                           resultado=suma(a,b);
                           IOConsole.println(a+"+"+b+"="+resultado);
                           break;                  



me falta la funcion multiplicación para poder hacer la potencia y llegar a algo como

private static int funcPot(int n, int p) {
int numero = n
for(int i = 0; i < p; i++)

resultado = funcMul(numero, n)

Ferno

Es pura matemática.

¿Qué es una multiplicación?
Es sumar el multiplicando la cantidad de veces que diga el multiplicador.

Ejemplo:
2 x 3 = 6
Sumar el multiplicando (2) la cantidad de veces que diga el multiplicador (3)
2+2+2 = 6

El algoritmo puede hacer con un bucle for (porque sabes cuando parar) o con while o do-while. Como prefieras.

[Case]

Los bluces son aburridos, mejor utiliza recursion.

cracken422

#3
ya tengo la multiplicacion en base a sumas

for(i=1; i<=num1; i++){

   resul = resul + num2;
}

IOConsole.println("resultado: " +resul);


necesito guardar esa funcion (multiplicacion) para poder crear la funcion potencia en mi algoritmo, creo que es algo asi
private static int funcMult(int n, int p) {
pero no se como guardarla

konarr

me he tomado la libertad de hacer algo básico, esta especie de calculadora tiene las operaciones suma. resta, multiplicación, división(modo troll) y potencia.

Espero lo tomes como una pequeña ayuda y lo mejores :D

Código (java) [Seleccionar]

package calcugui;
import javax.swing.*;

public class Calcugui {

    public static void main(String[] args) {
      String recibir = "";
      int numero, dato1, dato2;
     
      operaciones objeto = new operaciones();
      //se instancia la clase operaciones
      do{
        recibir = JOptionPane.showInputDialog("operacion? \n1-suma \n2-resta "
                                           + "\n3-potencia \n4-division \n5-multiplicacion \n6-salir"); 
        numero = Integer.parseInt(recibir);
       
            switch(numero){
                case 1:
                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese primer numero"));
                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese segundo numero"));
                    operaciones.suma(dato1, dato2);
                    break;
               
                case 2:
                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese primer numero"));
                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese segundo numero"));
                    operaciones.resta(dato1, dato2);
                    break;
               
                case 3:
                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese la base"));
                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese el exponente"));
                    operaciones.potencia(dato1, dato2);
                    break;
               
                case 4:
                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese dividendo"));
                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese divisor"));
                    operaciones.division(dato1, dato2);
                    break;
           
                case 5:
                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese primer numero"));
                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese segundo numero"));
                    operaciones.multiplicacion(dato1, dato2);
                    break;
            }
       
       
      }while(numero != 6);
    }
}


la class de las operaciones
Código (java) [Seleccionar]

package calcugui;

import javax.swing.*;

public class operaciones {

    public static void suma(int a, int b){
        int resulSuma = a + b;
        JOptionPane.showMessageDialog(null, "resultado suma: " + resulSuma);
    }
   
    public static void resta(int a, int b){
        int resulResta = a - b;
        JOptionPane.showMessageDialog(null, "resultado resta: " + resulResta);
    }
   
    public static void potencia(int a, int b){
        int resulPotencia = 1, i;
        for(i=1; i<=b; i++){
           
            resulPotencia = resulPotencia *a;
        }
        JOptionPane.showMessageDialog(null, "resultado potencia: " + resulPotencia);
    }
   
     public static void division(int a, int b){
        if(b != 0){
            float resulDivision = 1.f*a / b;
            JOptionPane.showMessageDialog(null, "resultado division: " + resulDivision);
        }else{
            JOptionPane.showMessageDialog(null, "division por 0 no permitida (stop troll)");
        }
    }
     
    public static void multiplicacion(int a, int b){
        int resulMultiplicacion = a * b;
        JOptionPane.showMessageDialog(null, "resultado multiplicacion: " + resulMultiplicacion);
    }
     
}