Foro de elhacker.net

Programación => Java => Mensaje iniciado por: cracken422 en 10 Julio 2012, 22:09 pm



Título: calculadora en java
Publicado por: cracken422 en 10 Julio 2012, 22:09 pm
como hacer las funciones multiplicacion, division y potencia en java solo con la funcion suma y resta


primero hice la funcion suma

Código:
                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

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

resultado = funcMul(numero, n)


Título: Re: calculadora en java
Publicado por: Ferno en 10 Julio 2012, 22:31 pm
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.


Título: Re: calculadora en java
Publicado por: [Case] en 10 Julio 2012, 23:35 pm
Los bluces son aburridos, mejor utiliza recursion.


Título: Re: calculadora en java
Publicado por: cracken422 en 10 Julio 2012, 23:44 pm
ya tengo la multiplicacion en base a sumas

Código:
			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


Título: Re: calculadora en java
Publicado por: konarr en 12 Julio 2012, 06:44 am
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
  1. package calcugui;
  2. import javax.swing.*;
  3.  
  4. public class Calcugui {
  5.  
  6.    public static void main(String[] args) {
  7.      String recibir = "";
  8.      int numero, dato1, dato2;
  9.  
  10.      operaciones objeto = new operaciones();
  11.      //se instancia la clase operaciones
  12.      do{
  13.        recibir = JOptionPane.showInputDialog("operacion? \n1-suma \n2-resta "
  14.                                           + "\n3-potencia \n4-division \n5-multiplicacion \n6-salir");  
  15.        numero = Integer.parseInt(recibir);
  16.  
  17.            switch(numero){
  18.                case 1:
  19.                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese primer numero"));
  20.                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese segundo numero"));
  21.                    operaciones.suma(dato1, dato2);
  22.                    break;
  23.  
  24.                case 2:
  25.                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese primer numero"));
  26.                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese segundo numero"));
  27.                    operaciones.resta(dato1, dato2);
  28.                    break;
  29.  
  30.                case 3:
  31.                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese la base"));
  32.                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese el exponente"));
  33.                    operaciones.potencia(dato1, dato2);
  34.                    break;
  35.  
  36.                case 4:
  37.                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese dividendo"));
  38.                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese divisor"));
  39.                    operaciones.division(dato1, dato2);
  40.                    break;
  41.  
  42.                case 5:
  43.                    dato1 = Integer.parseInt(JOptionPane.showInputDialog("ingrese primer numero"));
  44.                    dato2 = Integer.parseInt(JOptionPane.showInputDialog("ingrese segundo numero"));
  45.                    operaciones.multiplicacion(dato1, dato2);
  46.                    break;
  47.            }
  48.  
  49.  
  50.      }while(numero != 6);
  51.    }
  52. }

la class de las operaciones
Código
  1. package calcugui;
  2.  
  3. import javax.swing.*;
  4.  
  5. public class operaciones {
  6.  
  7.    public static void suma(int a, int b){
  8.        int resulSuma = a + b;
  9.        JOptionPane.showMessageDialog(null, "resultado suma: " + resulSuma);
  10.    }
  11.  
  12.    public static void resta(int a, int b){
  13.        int resulResta = a - b;
  14.        JOptionPane.showMessageDialog(null, "resultado resta: " + resulResta);
  15.    }
  16.  
  17.    public static void potencia(int a, int b){
  18.        int resulPotencia = 1, i;
  19.        for(i=1; i<=b; i++){
  20.  
  21.            resulPotencia = resulPotencia *a;
  22.        }
  23.        JOptionPane.showMessageDialog(null, "resultado potencia: " + resulPotencia);
  24.    }
  25.  
  26.     public static void division(int a, int b){
  27.        if(b != 0){
  28.            float resulDivision = 1.f*a / b;
  29.            JOptionPane.showMessageDialog(null, "resultado division: " + resulDivision);
  30.        }else{
  31.            JOptionPane.showMessageDialog(null, "division por 0 no permitida (stop troll)");
  32.        }
  33.    }
  34.  
  35.    public static void multiplicacion(int a, int b){
  36.        int resulMultiplicacion = a * b;
  37.        JOptionPane.showMessageDialog(null, "resultado multiplicacion: " + resulMultiplicacion);
  38.    }
  39.  
  40. }
  41.  
  42.