1

do while ループで if 条件ステートメントを使用しています。コンパイラがプログラムを実行するたびに、「 IF 」内のステートメントを 15 未満になるまで出力する必要があります一度印刷?どこが間違っていますか。私が初心者なので、誰かが流れを説明してくれれば本当にありがたいです。コードについては以下を参照してください。

package loopexamples2;

public class DoWhileLoop {

public static void main(String[] args) {
    int n = 1;
    if(n<15)

        System.out.println("print value of n is equal to"+ n);

    do {
     System.out.println(n);
     n++;
    }
     while(n<10);           
    }
}

出力 --> n の出力値は 1 1 2 3 4 5 6 7 8 9 と等しい

4

8 に答える 8

3

if ステートメントが do while ループの外にあります。do {} ブロックの中に入れます

package loopexamples2;

public class DoWhileLoop {

public static void main(String[] args) {
    int n = 1;

    do {
     if(n<15) {
        System.out.println("print value of n is equal to"+ n);
     }
     System.out.println(n);
     n++;
    }
     while(n<10);           
    }
}
于 2013-03-02T02:50:14.677 に答える
1

これに近いものを探しています:

while(n<15) {
    System.out.println("print value of n is equal to"+ n);
    n++
}

内のコード ブロックは、値が 15 以上になる{まで}継続的に実行されます。n

while現在のコードでは、完全な print ステートメントはループに含まれていないため、一度だけ出力されます。

于 2013-03-02T02:50:28.967 に答える
0

これがあなたが望むものだと思います:

package loopexamples2;

public class DoWhileLoop {

    public static void main(String[] args) {
        int n = 1;        
        do {
           System.out.println("print value of n is equal to"+ n);
           n++;
        } while(n<10);           
    }
}

コードの流れ:

int n = 1;n を 1 に代入

do {ここから まで中かっこの間のコードを繰り返しますwhile

System.out.println("print value of n is equal to"+ n);版画print value of n is equal to1

n++;n を 1 ずつ増やすため、n = 2

} while(n<10);n < 10 ですか? はい、から繰り返しますdo

System.out.println("print value of n is equal to"+ n);版画print value of n is equal to2

n++;n を 1 ずつ増やすため、n = 3

} while(n<10);n < 10 ですか? n = 3 なので、はい、から繰り返しますdo

[ ...同じことが繰り返される ... ]

System.out.println("print value of n is equal to"+ n);版画print value of n is equal to9

n++;n を 1 ずつ増やすため、n = 10

} while(n<10);n < 10 ですか? n = 10 なのでいいえ、ループを終了します。

プログラムの終了。

于 2013-03-02T02:50:29.360 に答える
0

IF 内のステートメントは 1 回だけ渡されます。ループ内にないためです。

プログラムの流れは手続き型です。したがって、実行は上から下になります。最初に IF ブロックを渡し、それを実行し、次の行に進み、while 条件が満たされるまでループする do-while ブロックを見つけます。ループはそのブロックでのみ繰り返され、その前の行では繰り返されません。

于 2013-03-02T02:52:15.900 に答える
0

これはいつでも参照できます...もっと役立つでしょう..

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html

于 2013-03-02T04:03:24.640 に答える
0

あなたは初心者なので、ワークフローを説明します。

    int n = 1;

に 1 が割り当てられnます。

    if(n<15)
        System.out.println("print value of n is equal to"+ n);

プログラムは、n が 15 未満かどうかをチェックします。15 未満であるため、次のアクションを実行します。それは一度だけです。ループを繰り返し実行する while ループや for ループではありません。

    do {
     System.out.println(n);
     n++;
    }
     while(n<10);           
    }

ここで、プログラムは { と } の間のすべてを n=10 まで実行します。

あなたは、「15未満になるまで「IF」のステートメントを出力する必要がある」と言っています

次に、同様の do/while ループが必要です。

 do {
     System.out.println("print value of n is equal to"+ n);
     n++
 }
 while (n<15);
于 2013-03-02T02:54:06.653 に答える
0

コンパイラがプログラムを実行するたびに、「 IF 」内のステートメントを 15 未満になるまで出力する必要があります。

n<10ループで条件を使用しているためdo while、ループは を超えて進みませんn=9。だから届かないn=15

于 2013-03-02T02:54:09.013 に答える