Tenho em exercício para calcular a potencia sem usar Math.pow,
não sei oque está errado…
Obrigado
/*Faça um método que receba dois valores (X e Z), o método deverá calcular e imprimir o valor de
Xz (x elevado a z), não deve ser utilizado nenhum método pronto do java, você deverá implementar
toda a lógica para o cálculo.*/
import javax.swing.*;
public class Exe4{
//metodo para calculo de Potencia
public static int exp(int n1,int n2)
{
int i=0, total=0;
while(i<=n2)
{
total = n1*n2;
i++;
}
return total;
}
//metodo principal
public static void main(String args[]){
//Declaração de Variáveis
int num1, num2;
//Entrada de Dados do Usuário
num1 = Integer.parseInt(JOptionPane.showInputDialog("Digite um número"));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Digite outro número"));
//Exibição dos dados
JOptionPane.showMessageDialog(null, exp(num1,num2));
}
}
Tenho em exercício para calcular a potencia sem usar Math.pow,
não sei oque está errado…
Obrigado
[code]
/Faça um método que receba dois valores (X e Z), o método deverá calcular e imprimir o valor de
Xz (x elevado a z), não deve ser utilizado nenhum método pronto do java, você deverá implementar
toda a lógica para o cálculo./
import javax.swing.*;
public class Exe4{
//metodo para calculo de Potencia
public static int exp(int n1,int n2)
{
int i=0, total=0;
while(i<=n2)
{
total = n1*n2;
i++;
}
return total;
}
//metodo principal
public static void main(String args[]){
//Declaração de Variáveis
int num1, num2;
//Entrada de Dados do Usuário
num1 = Integer.parseInt(JOptionPane.showInputDialog("Digite um número"));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Digite outro número"));
//Exibição dos dados
JOptionPane.showMessageDialog(null, exp(num1,num2));
}
}
[/code][/quote]
Dado que a exponenciação é a multiplicação de uma dada base por ela mesma tantas vezes quanto indicar o expoente:
/*Faça um método que receba dois valores (X e Z), o método deverá calcular e imprimir o valor de
Xz (x elevado a z), não deve ser utilizado nenhum método pronto do java, você deverá implementar
toda a lógica para o cálculo.*/
import javax.swing.*;
public class Exe4{
//metodo para calculo de Potencia
public static int exp(int n1,int n2)
{
int i=0, total=0;
while(i<=n2)
{
total += n1*n1;
i++;
}
return total;
}
//metodo principal
public static void main(String args[]){
//Declaração de Variáveis
int num1, num2;
//Entrada de Dados do Usuário
num1 = Integer.parseInt(JOptionPane.showInputDialog("Digite um número"));
num2 = Integer.parseInt(JOptionPane.showInputDialog("Digite outro número"));
//Exibição dos dados
JOptionPane.showMessageDialog(null, exp(num1,num2));
}
}
Lembrando que qualquer numero elevado a 0 é 1 e que 1 elevando a qualquer expoente é 1
e que n elevado a p significa nnn*n…*n p vezes
temos:
public static int exp(int base,int expoente)
{
if (expoente <0 ){
throw new IllegarArgumentException("Apenas expoentes positivos");
}
if (base==1){
return 1;
}
int potencia=1;
for ( int i = 0 ; i < expoente; i++){
potencia *= base;
}
return potencia;
}