我有下一个for循环标题:
for ( int row = interval[intRow][_START_]; row <= interval[intRow][_END_]; row++ )
其中interval
的类型/维int[15][5]
,intRow
的值为1,_START_
和_END_
是常量,从0开始,结束1;
interval[intRow][_START_]
返回1,interval[intRow][_END_]
返回2
为什么地狱row
只到1(所以只有一个循环而不是2个)?
我注意到,如果我把第二个条件或其他任何条件放在两个( ... )
之间,那么它可以工作,它会循环两次。我的意思是:
for ( int row = interval[intRow][_START_]; row <= (interval[intRow][_END_]); row++ )
有没有人知道为什么会这样?我知道我可以把它们放在两个括号之间,但我想知道为什么这不起作用。
感谢。
EDIT1
<=
而不是<
......我在开头做了一个错字。遗憾。
EDIT2
基本上这看起来像:
for ( int row = interval[1][0]; row <= interval[1][1]; row++ )
其中interval[1][0] == 1
和interval[1][1] == 2
答案 0 :(得分:3)
循环1:1&lt; 2 - 好的 Loop2:2&lt; 2 - 不行
尝试&lt; =
答案 1 :(得分:1)
试过以下。
int[][] interval = new int [15][5];
int intRow = 1;
int _START_ = 0;
int _END_ = 1;
interval[intRow][_START_] = 1;
interval[intRow][_END_] = 2;
for ( int row = interval[intRow][_START_]; row <= interval[intRow][_END_]; row++ ) {
System.out.println(row);
}
输出: 1 2
总结一下,它对我来说很好。这让我想知道是否正确设置了 interval [intRow] [_ END _] 。
尝试使用调试器或只是使用Sysouts来调试程序。
答案 2 :(得分:0)
你试着写这个吗?
for ( int row = interval[intRow][_START_]; row <= interval[intRow][_END_]; row++ )
还是这个?
for ( int row = interval[intRow][_START_]; row < interval[intRow][_END_] +1; row++ )