0

学校での課題の for ループを書いています。ループは最小数を書き込みます。26 であり、最大値に達するまで、ループのターンごとに 7 ずつ増加します。112. すべての数字の間には、コンマ (",") も書かれます。しかし、最後の番号の後ではありません。

現在、私のコードは次のようになっています。

int min=26;
int max=112;

for(int i=min; i<=max; i+=7)
{
   if(i!=max)
   {
      System.out.print(i+", ");
   }
   else
   {
      System.out.print(i);
   }

}

現在、最後の数字にはコンマが含まれています... どこに問題がありますか?

4

6 に答える 6

1

「i」が「max」と等しくなることはないため、else 句は実行されません。
「最小」が常に「最大」よりも小さい場合は、次のこともできます。

int min=26;
int max=112;

System.out.print(min);
for(int i=min+7; i<=max; i+=7)
{
    System.out.print("," + i);
}
于 2013-10-14T18:24:42.857 に答える
1

elseあなたのコードではループに入ることはありませんmax = 112が、forループはその値に達しません。( 7 のインクリメントの後に110に達します)。そのため、`if' ループのみを実行し、コンマ付きの文字列を出力して終了します。

于 2013-10-14T18:17:05.427 に答える
0

インクリメント ステップが y であることを考えると、ループの最後の反復で が にi等しくない可能性があります。実際、ループは からまで実行されます。これはの倍数ではありません。max726112867

最小値とステップに基づいて最大値を計算すれば問題ないはずです.-

int step = 7;
int min = 26;
int max = min * step;

for(int i = min; i <= max; i += step)
于 2013-10-14T18:16:51.197 に答える