4

我有一个 for 循环检查每 5 个位置。在每第五个位置,我正在执行一个这样的动作(有效):

for(int i = 0; i < foo().length; i++)
{
    System.out.print(i);

    if(i == 5 || i == 10 || i == 15)
        System.out.println();
}

有没有办法写 if 语句,所以无论多长时间foo().length,我都不必不断回来调整它?

4

4 回答 4

8

使用modulus(%)运算符:-

if (i % 5 == 0) {

}
  • 5 % 5 == 0, 10 % 5 == 0, ...

由于您使用的是 a for loop,因此您可以简单地将增量从 更改i++i += 5,并保留 if 条件。

for (int i = 0; i < someNum; i += 5) {
    // No need to check for `i` against `modulus 5`.
}
于 2012-11-13T07:51:48.420 回答
2

您可以使用下一个forwitoutif语句

for(int i = 0; i < foo().length; i+=5)
{  

5逐步添加i_

于 2012-11-13T07:57:42.047 回答
1

使用以下内容:

if ( i % 5 == 0 )
于 2012-11-13T07:53:01.130 回答
0

如果你想把它放在一个单独的打印语句中,这也可以。

for(int i = 0; i < foo().length; i++)
{
    System.out.printf("%d%s", i, (i%5==0) ? "\n" : "");
}
于 2012-11-13T07:59:32.470 回答