2017-02-16 4 views
-1

次のプログラムを終了してコンソールビューの先頭に移動しようとすると、最初の2つのループは実行されません。なぜ私に説明できますか?無限ループのみ動作していますか?

public class WhileLoop { 
    public static void main(String[] args) { 
     double number= 25.2; 
     int myInt= 0; 
     int x=365; 

     while (myInt<9){ // Finite while loop 
      System.out.println("Hello "+ myInt); 
      myInt= myInt+1; 
     } 

     while(x>0){ //this is running out of year days loop 
      System.out.println(x); 
      x=x-1; 
      System.out.println(x);   
     } 

     while (number==25.2){ // an infinite loop 
      System.out.println("hahaha"); 
     }  
    } 
} 
+7

印刷しています。最終的な出力は最終的にクリアされます。 – shmosel

+0

出力をファイルに取り込むと、最初のループの最初のビットをより簡単に見ることができます。しかし、大きなファイルを非常に高速に作成できるので、プログラムをすばやく終了させて​​ください。 –

+0

今私は少なくともそれが最初に表示されていることを知っているが、なぜそれは最終的にクリアされるのだろうか? –

答えて

0

Eclipseのデフォルトをコンソールにデータの量を制限することは取得しないように、メモリ不足例外。

「実行/デバッグ>コンソール」の「設定」でこれを設定できます。制限をオン/オフにするには、[コンソール出力を制限する]チェックボックスがあり、バッファのサイズを設定できる[コンソールバッファサイズ]フィールドがあります。

+0

先生、話すことができますか、私はあなたからいくつかのことを尋ねる必要がありますか? –

+0

@SurajJain直接質問にはお答えしません。スタックオーバーフローや適切なところに問い合わせてください。 –

+0

先生、それはそうではありません。 –

0

Thread.sleep(1000);ループ間。これは1秒間スリープ状態になります。そうすれば、他のループを続ける前に出力を見ることができます。待つ1秒ごとに1000を追加します。

+0

これは実際には実行されていますが、なぜそれは消えますか?デバッグしても、最初の2つのループは表示されません。 –

0

@shmoselによると、出力はクリアされます。あなたはまだ遅く方法で出力を確認したい場合は

あなたが使用することができます。

Thread.sleep(amountOfTime);

public class WhileLoop { 
    public static void main(String[] args) { 
     double number= 25.2; 
     int myInt= 0; 
     int x=365; 


    while (myInt<9){        // Finite while loop 
     System.out.println("Hello "+ myInt); 
     myInt= myInt+1; 
     Thread.sleep(500l); 
    } 



    while(x>0){    //this is running out of year days loop 
     System.out.println(x); 
     x=x-1; 
     Thread.sleep(500l); 
     System.out.println(x); 

       } 





    while (number==25.2){     // an infinite loop 
     System.out.println("hahaha"); 
         } 

} 
} 
関連する問題