2012-11-13 37 views
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是多久的方式,我沒有繼續來回去調整它?

+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

使用以下:

if (i % 5 == 0) 
2

您可以使用未來for不用其他if聲明

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

加入5i步步

0

,如果你想要把它在一個單一的印刷品聲明這也會起作用。

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