嗨,我有一個關於嵌套for循環在java中的初學者問題。嵌套for循環Java混淆
int sum = 0;
for(int i = 1; i < 3; i++){
for(int j = i; j>= 0; j--){
sum += j;
}
}
所以這裏是我的跟蹤表
i j sum
1 1 1
0 1
2 2 2
1 3
0 3
我的問題是,爲什麼在循環結束時,輸出爲4?是因爲3 + 1嗎?
嗨,我有一個關於嵌套for循環在java中的初學者問題。嵌套for循環Java混淆
int sum = 0;
for(int i = 1; i < 3; i++){
for(int j = i; j>= 0; j--){
sum += j;
}
}
所以這裏是我的跟蹤表
i j sum
1 1 1
0 1
2 2 2
1 3
0 3
我的問題是,爲什麼在循環結束時,輸出爲4?是因爲3 + 1嗎?
您的跟蹤表是錯誤的。這是正確的:
i j sum
1 1 1
0 1
2 2 3
1 4
0 4
你總結j
(第二列)的所有值,這本質上是1 + 0 + 2 + 1 + 0 = 4
。
因此,總和連接到下一個外部循環? –
不是直接。但是你的變量'j'連接到外部循環。你總結'j'的值。 –
對於(int j = 1; j <= 2; j ++ {int i = 1; j <= 2; j ++}),對於(int i = 1; i <= 3; i ++)是否具有相同的概念: System.out.print(「六大「);? }} 它實際打印6所以它的同一個概念 –
輸出是4,因爲sum
是:
0 +
1 +
2 + 1 =
= 4
首先,添加1
,然後2
和1
。您的循環將所有三角形數字總和小於3.三角形數字是從1
到n
之間的數字的總和。這些都是1
,3
,6
,10
等。
所以這些數字是從以J跟蹤表 –
你做出你的跟蹤錯誤,您應該使用調試器?。 – xenteros
實際上,我們需要改正你的表結果:
i j sum
1 1 1
0 1
2 2 2 (sum is 2+1(existing sum, sum is not 0 anymore))
1 3 (sum is 3 + 1 = 4)
0 3 (sum is 4+ 0 = 4)
您提供您的輸出,這與3.然後結束你問爲什麼以4結尾。有人可以向我解釋嗎? – f1sh
'1 + 2 + 1 = 4' – Guy
這是我的跟蹤表,我的問題是循環結束時sum的值是多少?是不是應該是3?但是當我在eclipse中運行時,它給了我4. –