“if语句”不断检查for循环索引计数的倍数

时间:2012-11-13 07:50:41

标签: java if-statement console

我有一个for循环,检查每个第5个位置。在每个第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 个答案:

答案 0 :(得分:8)

使用modulus(%)运算符: -

if (i % 5 == 0) {

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

由于您使用的是for loop,因此您只需将增量从i++更改为i += 5,然后保留if条件。

for (int i = 0; i < someNum; i += 5) {
    // No need to check for `i` against `modulus 5`.
}

答案 1 :(得分:2)

您可以使用下一个for而不使用if声明

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

逐步将5添加到i

答案 2 :(得分:1)

使用以下内容:

if ( i % 5 == 0 )

答案 3 :(得分:0)

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

for(int i = 0; i < foo().length; i++)
{
    System.out.printf("%d%s", i, (i%5==0) ? "\n" : "");
}