gpt4 book ai didi

java - 没有使用 for 循环的 math.pow 的指数(在 java 中)

转载 作者:行者123 更新时间:2023-12-01 18:06:48 26 4
gpt4 key购买 nike

我需要获取 2 个输入的数字并计算变量 1 的变量 2 次方,而不使用 math.pow 和 for 循环。这就是我现在拥有的

    Scanner in = new Scanner(System.in);
System.out.print("Please enter your base: ");
int base = in.nextInt();
System.out.print("Please enter your exponent: ");
int power = in.nextInt();

int result = mathPower(base, power);
System.out.println(base + " to the power of " + power + " is " + result + ".");



}

public static int mathPower(int a, int b)
{

int result = a;

if (b == 0) {

result = 1;

}

if (b < 0) {

a = (1 / a);
b = -b;
}

for (a = 1; a < b; a++) {

result = result * a;
return result;

}

return result;
}

}

它似乎只在指数为 0 时才起作用,否则它只显示 a 值。我需要正指数和负指数。提前致谢!

最佳答案

b<0 的情况仅对 float 有意义,因此我将 a 的类型和返回值更改为 double

public static double mathPower(double a, int b) 
{
double result = 1;

if (b < 0) {
a = 1.0 / a;
b = -b;
}

for (int i = 0; i < b; i++) {
result = result * a;
}

return result;
}

关于java - 没有使用 for 循环的 math.pow 的指数(在 java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com