public class tester
{
public static void main(String args[])
{
int n = 0;
int sum = 0;
for(n = 3;n<=24;n=( 2 * n))
{
sum = sum + n;
System.out.println(sum);
}
}
}
有人可以向我解释为什么在这个for循环中它将n = n * 2作为指数而不是乘法
答案 0 :(得分:2)
没有。这输出:
3
9
21
45
由于:
Iteration n sum
1 n = 3 sum = 0 + 3 = 3
2 n = 2 * 3 = 6 sum = 3 + 6 = 9
3 n = 2 * 6 = 12 sum = 9 + 12 = 21
4 n = 2 * 12 = 24 sum = 21 + 24 = 45
5 n = 2 * 24 = 48 (break)
请注意,在每次迭代中,n
只是乘以2,而不是作为指数计算。
答案 1 :(得分:1)
你没有计算每个sé的指数,你只是错误地计算它导致指数。
n
将
3,6,12等
但您使用sum
sum = sum + n;
基本上是
sum = 0 + 3 =&gt; 3
sum = 3 + 6 =&gt; 9
sum = 9 + 12 =&gt; 21个
等
答案 2 :(得分:0)
在for循环中: 设置一个值,声明一个规则,并设置一个在所述规则为真时执行的函数。 在你的情况下,你在你的总和中添加'n',而n小于24,每次乘以n。星号用于java中的严格乘法。
在黑暗中拍摄,但你的意思是:
for(n = 3;n<=24;n=( 2 * n)){
sum = n;
System.out.println(sum);
}
如果没有,建议使用+ =或 - =如此:
sum += n;
sun -= n;