我只是很困惑,从这个作业问题。我不明白为什么我和总和这样的值出来。我只是不明白这里的算法的概念,有人能解释一下吗?为什么for循环输出这个?
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.
我只是很困惑,从这个作业问题。我不明白为什么我和总和这样的值出来。我只是不明白这里的算法的概念,有人能解释一下吗?为什么for循环输出这个?
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.
萨姆
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;
}
此代码:
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
您已创建一个值为0
的变量i
,然后在for循环中将其增加5次。所以你的i
的值为5
。
现在和的值是0+1+2+3+4
这是10
因为你通过你的循环,这让我== 5,然后打印迭代,
点心去如下,您要添加到我先前计算的总和
0 + 1 = 1
1 + 2 = 3
3 + 3 + 6
6 + 4 = 10
试着把你的打印命令放到循环中,他们你可以更好地看到发生了什么。
唯一的非明显的一点是(在我看来):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");
};
其他答案告诉其他事情。
你在这里不了解什么部分? –
打印出循环内的i值和总和,看看它们是如何变化的。 – OldProgrammer
0 + 1 + 1 + 1 + 1 + 1 = 5 ='i'。 0 + 0 + 1 + 2 + 3 + 4 = 10 ='sum'。 – David