我只是很困惑,從這個作業問題。我不明白爲什麼我和總和這樣的值出來。我只是不明白這裏的算法的概念,有人能解釋一下嗎?爲什麼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