4

5 番目ごとの位置をチェックする 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 == 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`.
}
于 2012-11-13T07:51:48.420 に答える
2

for次のステートメントなしifで 使用できます

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

単一の print ステートメントに入れたい場合は、これも機能します。

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