gpt4 book ai didi

java - 为什么我的 for 循环一遍又一遍地打印相同的数字?

转载 作者:行者123 更新时间:2023-11-30 06:12:29 25 4
gpt4 key购买 nike

编写一个名为 printPowersOfN 的方法,该方法接受一个底数和一个指数作为参数,并打印底数的每个幂,从 base0 (1) 到最大幂(含)。例如,考虑以下调用:

printPowersOfN(4, 3);

printPowersOfN(5, 6);

printPowersOfN(-2, 8);

这些调用应该产生以下输出:

1 4 16 64

1 5 25 125 625 3125 15625

1 -2 4 -8 16 -32 64 -128 256

public class prac {

public static void main(String[]args) {
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}

public static void printPowersOfN(int num1, int num2) {
int k =(int) Math.pow(num1, num2);
for (int i=1; i<=num2;i++) {
System.out.print( k + " ");
}
System.out.println();
}
}

我的输出是: 64 64 64

15625 15625 15625 15625 15625 15625

256 256 256 256 256 256 256 256

为什么这只会一遍又一遍地打印最大功率而不是导致指数的所有功率?(idk如果我措辞正确的话)我究竟做错了什么?我想使用 Math.pow 方法

最佳答案

Why is this only printing the max power over and over instead of the of all the powers leading up to the exponent?

因为您在 k 中存储了最大功率:

 int k =(int) Math.pow(num1, num2);

并在循环中一次又一次地打印 k。

System.out.print( k + " ");

您也应该更改 k 的值。例如,以下应该适合您:

int k;
for (int i=0; i<=num2;i++) {
k =(int) Math.pow(num1, i);
System.out.print( k + " ");
}

您可能需要根据您的要求进行细微的更改,但这可以让您清楚地知道哪里出了问题。

关于java - 为什么我的 for 循环一遍又一遍地打印相同的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32835698/

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