我对这个作业问题非常困惑。我不明白为什么 i 和 sum 的值会以这种方式出现。我只是不明白这里算法的概念,有人可以解释一下吗?
int i = 0;
int sum = 0;
for(i=0; i < 5; i++)
{
sum += i;
}
System.out.println(i + "\n" + sum);
输出结果为:
5
10
----jGRASP: operation complete.
答案 0 :(得分:7)
萨姆
Iteration 1: 0 + 0 = 0
Iteration 2: 0 + 1 = 1
Iteration 3: 1 + 2 = 3
Iteration 4: 3 + 3 = 6
Iteration 5: 6 + 4 = 10
验证码
int i = 0;
int sum = 0;
for (i = 0; i < 5; i++) {
System.out.println(String.format(
"Iteration %s: %s + %s = %s", (i + 1), sum, i, (sum + i)));
sum += i;
}
答案 1 :(得分:3)
此代码:
int i = 0;
int sum = 0;
for(i=0; i < 5; i++)
{
sum += i;
}
System.out.println(i + "\n" + sum);
sum
输出:0 + 1 + 2 + 3 + 4,等于10,i
迭代次数= 5.
答案 2 :(得分:3)
您创建了一个变量i
,其值为0
,然后在for循环中将其递增5次。因此,i
的值为5
。
现在,sum的值为0+1+2+3+4
,即10
答案 3 :(得分:2)
因为你遍历你的循环,这使得i == 5,然后打印它,
总和如下所示,您将i添加到先前计算的总和
0 + 1 = 1
1 + 2 = 3
3 + 3 + 6
6 + 4 = 10
尝试将你的打印命令放入循环中,你可以更好地看到正在发生的事情。
答案 4 :(得分:1)
唯一不明显的事情是(在我看来):i
将是5,因为你使用i++
,即使身体没有,也会将i
增加1在最后一次迭代后执行。身体i
内部最多只能有4个。
int sum = 0; int i = 0;
for (i = 0; i < 5; i++)
{
sum += i;
if (i == 5)
System.out.println("never executed");
};
其他答案告诉其他事情。