1

我有以下循环

for(int i=0;i<1000;i++) { }

我如何确定当前迭代是否是java中的最后一次迭代。谢谢。我正在动态获得的价值。

4

5 回答 5

6

根据您的问题,如果您的比较值是动态的

int myval = 1000;

    for(int i=0;i<myval;i++) { 

        if(i == myval -1){
            // last work
        }

    }
于 2013-01-15T12:02:58.677 回答
3

您可以检查iequals 999,当然除非在循环内另外修改它:

for(int i=0;i<1000;i++) {
    if (i == 999) {
        // Last iteration
    }
    ... // More code
}
于 2013-01-15T12:00:32.357 回答
1

你只需检查你的运行变量。if(i == 999)...

于 2013-01-15T12:00:56.333 回答
1

正如其他人建议的那样,您可以看到if(i==999). 这在大多数情况下都会起作用,但并非总是如此。

如果您i在循环内部进行修改,您可能会发现自己多次处于迭代 999 中,或者永远不会。

此外,如果您在循环内使用breakreturn,您将无法进行第 999 次迭代。

于 2013-01-15T12:02:33.070 回答
0

在实践中,这看起来有点不同,然后其他答案显示:

int len = 1000;
for (int i=0; i < len; i++) {
  if (i == len-1) {
      // action for last iteration
  }
}
于 2013-01-15T12:06:26.313 回答