问:简单循环跟踪
Q: Simple Loop Tracing
我不确定 "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);
所以我的问题是 "num2" 的踪迹是什么?
任何帮助表示赞赏!
在这种情况下,以下内容为真:
num1 将等于任何索引乘以自身。因此这将 运行 在 0、1、2、3 和 4 上,因为你的 i 从 0 和 运行s 开始,直到它小于或等于 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 中不是有效类型,这应该是 'int'。
此外,您还有:
int num2 = 0:
此处以冒号 (:) 结尾,应为 semi-colon (;)。
我不确定 "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);
所以我的问题是 "num2" 的踪迹是什么? 任何帮助表示赞赏!
在这种情况下,以下内容为真:
num1 将等于任何索引乘以自身。因此这将 运行 在 0、1、2、3 和 4 上,因为你的 i 从 0 和 运行s 开始,直到它小于或等于 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 中不是有效类型,这应该是 'int'。
此外,您还有:
int num2 = 0:
此处以冒号 (:) 结尾,应为 semi-colon (;)。