-1

取り組んでいる宿題について少し混乱しています。123 の 7 セットを書こうとしています。セットの数が偶数の場合を除いて、123 とは書きたくないのですが、偶数という単語だけで数字はなく、次のセットに進みます。
while ループを使用してセットのカウントを追跡し、for ループを使用してカウント 123 を実行しています。
forループ内にif条件を入れてみましたが、それは連続して(123も)永遠に印刷されます。
if条件を間違って適用していますか? for条件を間違って適用していますか?

import acm.program.*;
public class TestProgram extends ConsoleProgram
{

    public void run()
    {
        int i = 1; 
        while (i <= 7)
        {
            if (i % 2 == 0)
            {
                println("even");
            }
            else
            {
                for (int j = 1; j <= 3; j++)
                {
                    println(j);
                }
            }
        }
    }

}
4

2 に答える 2

4

i をまったくインクリメントしていないため、終了することはありません。forステートメントの後に、次のようなものを追加します

i++;
于 2013-05-10T00:27:07.237 に答える
1

あなたが書いたものは、i常に7以下であるため、無限ループです。それは初期化されて1おり、それを変更するために何もしません。

于 2013-05-10T00:27:13.440 に答える