Embora não exista um operador exponencial simples em Java, você pode calcular facilmente um expoente usando alguns métodos diferentes. No entanto, usar potência em Java (Math.pow) é a abordagem mais flexível e direta. Você precisa importar a classe java.lang.math antes de calcular o expoente, mas esta é uma simples linha de código, e a função em si tem uma sintaxe fácil de usar. Os métodos alternativos usam um loop for ou uma chamada recursiva, mas eles só funcionam para potências maiores ou iguais a 1, então você deve tentar usar o primeiro método sempre que possível.
O núcleo do método para calcular expoentes em Java é a função math.pow(), que recebe dois valores e calcula um elevado à potência do outro. A sintaxe é "math.pow(base, expoente)" com o número que você deseja elevar à potência onde diz "base" e a potência que você deseja onde diz "expoente". Você pode tornar o resultado um inteiro usando (int) antes da função, mas sem isso, ela retorna automaticamente um valor "double" e aceita parâmetros como "double" também.
O processo de calcular um expoente em Java basicamente envolve apenas usar esta função. Abra sua IDE Java – Netbeans, por exemplo. Para a primeira linha do código, você importa a classe antes de realizar o cálculo, então digite "import java.lang.math;" (sem aspas) antes de prosseguir com o cálculo. Na próxima linha, digite "class" e algo descritivo após um espaço, como "CalculatePower {" com o colchete aberto no final para preparar o restante do código.
Em uma nova linha indentada, escreva "public static void main( String args[] ) {" (novamente sem aspas), e então prossiga com o cálculo. Dependendo do tipo que você deseja retornar – valores inteiros ou double, por exemplo – digite "int" ou "double" no início de uma nova linha indentada. Então digite algo descritivo para a resposta como "ans", seguido por "= (int) Math.pow(base, expoente)" observando que se você estiver usando valores double, digite "(double)" em vez de "(int)" após o sinal de igual.
Finalmente, digite "System.out.println(+ans)" em outra nova linha e então execute o comando para calcular o expoente. Como sempre, você digita os números que deseja usar no lugar de "base" e "expoente". Então, se você estiver procurando calcular 5² como um inteiro, seu código deve dizer:
import java.lang.Math;
public class CalculatePower {
public static void main( String args[] ) {
int ans = (int) Math.pow(5,2);
System.out.println(+ans);
}
}
Você só pode usar os métodos restantes se o expoente para o qual está elevando o número for 1 ou maior. Estes envolvem usar um loop for e uma chamada recursiva. Ambos os métodos são razoavelmente longos, mas você pode copiar algum código existente em vez de ter que escrevê-lo todo sozinho. Usando o método do loop for, copie o seguinte código em sua IDE Java:
package exponent_example;
public class Exponent_example {
public static void main(String[] args) {
double num = 2;
int exp = 3;
double answer = Pow(num, exp);
System.out.println(answer);
}
public static double Pow(double num, int exp){
double result = 1;
for (int i = 0; i < exp; i++) {
result *= num;
}
return result;
}
}
A parte "num = 2" e "exp = 3" são onde você insere o número base e a potência que deseja elevá-lo, respectivamente. Note que o expoente tem que ser um inteiro (daí o "int" antes dele na linha), que é outra limitação deste método (embora uma que não apareça com muita frequência). Para usar este código, altere esses números para o que você deseja calcular e execute-o.
A abordagem final que você pode usar para calcular expoentes em Java é uma chamada recursiva. Como o método do loop for, você só pode fazer isso para expoentes maiores ou iguais a 1 e para valores inteiros. Copie o seguinte código e use-o da mesma forma:
package exponent_example;
public class Exponent_example {
public static void main(String[] args) {
double num = 3;
int exp = 2;
double answer = Pow(num, exp);
System.out.println(answer);
}
public static double Pow(double num, double exp) {
if (exp <= 0)
return 1;
return num * Pow(num, exp - 1);
}
}
Tecnologia Eletrônica © [www.351231.com]