2016-01-07 88 views
0

我不确定“num2”会发生什么情况,我几乎可以肯定,每个数字1-4的每个数字都有“num1”1-4次,但我不知道“num2”问:简单循环追踪

int num1 = 0; 
int num2 = 0: 

for (var i = 0; i <= 4; i++){ 
      num1 = i * i; 
      num2 += num1; 
      System.out.println(num1 + " "); 
} 
System.out.println(num2); 

所以我的问题是什么是“num2”的跟踪? 任何帮助表示赞赏!

+1

为什么你不运行这段代码并找出答案? – Eran

+0

这是我尝试的第一件事,但其中3行有错误,所以我不知道该怎么办。 –

+0

java中没有“var”类型。 –

回答

0

在这种情况下,符合下列条件:

NUM1将等于任何索引,乘以本身。因此,这将在第0,1,2,3和4作为I开始为0运行并运行,直到其小于或等于4。

因此,NUM1将是:

1) 0 * 0 = 0 
2) 1 * 1 = 1 
3) 2 * 2 = 4 
4) 3 * 3 = 9 
5) 4 * 4 = 16 

然后NUM2简单地计算每一个这些的总和,这将是:

0 + 1 + 4 + 9 + 16 = 30 

这将被分解成:

Before for loop: 
num2 = 0 

1) num2 = 0 + 0 = 0 
2) num2 = 0 + 1 = 1 
3) num2 = 1 + 4 = 5 
4) num2 = 5 + 9 = 14 
5) num2 = 14 + 16 = 30 

它通过将迄今为止的总数添加到总数来完成此操作。

希望这可以澄清一点。

编辑:

正如sharonbn提到,VAR是不是在java中的有效类型,这应该是 '廉政'。

此外,你必须:

int num2 = 0: 

在这里,您有一个冒号(:)结束这应该是一个分号(;)。