嗨,我有一个关于嵌套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. –