我有一个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
多久,我都不必继续调整它?
答案 0 :(得分:8)
使用modulus(%)
运算符: -
if (i % 5 == 0) {
}
5 % 5 == 0
,10 % 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" : "");
}