Java确实是指数而不是乘法

时间:2013-12-06 02:16:22

标签: java

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作为指数而不是乘法

3 个答案:

答案 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;