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)
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.
Los bluces son aburridos, mejor utiliza recursion.
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
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
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
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);
}
}