我不确定" num2"会发生什么,我几乎可以肯定" num1"每个数字1-4的次数每次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);
所以我的问题是&#34; num2&#34;的痕迹是什么? 任何帮助表示赞赏!
答案 0 :(得分:0)
在这种情况下,以下情况属实:
num1将等于索引的任何值,乘以它自己。因此,当i从0开始运行时,它将在0,1,2,3和4上运行,直到它小于或等于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
这是通过向目前的总数添加num1来实现的。
希望这有点澄清。
修改强>
正如sharonbn所提到的,var不是java中的有效类型,这应该是&#39; int&#39;。
另外,你有:
int num2 = 0:
这里以冒号(:)结束,这应该是一个分号(;)。