2016-06-21 5 views
2

私はさまざまなソート関数と基本コードで遊んでいます。しかし、配列のサイズを1000以上に増やそうとしたときに、良い出力ではなく空白のコンソールが表示され、プログラムが終了したと表示されます。大きな配列をソートすると出力は返されません

誰も問題を説明することはできますか?

public class Sorting { 

    public static void main(String[] args) 
    { 
     int[] array = generateRandomArray(10000); 
     printArray(array); 
     insertionSort(array); 
     printArray(array); 
    } 

    public static void printArray(int[] arr) 
    { 
     System.out.print("[ "); 
     for (int i=0; i<arr.length; i++) 
     { 
      System.out.print(arr[i] +" "); 
     } 
     System.out.println("]"); 
    } 

    public static int[] generateRandomArray(int n) 
    { 
     int[] arr = new int[n]; 
     Random rnd = new Random(); 
     for (int i=0; i<n; i++) 
     { 
      arr[i]=rnd.nextInt(5000); 
     } 
     return arr; 
    } 

    public static void insertionSort(int[] arr) 
    { 
     int temp, index; 
     for (int i=1; i<arr.length; i++) 
     { 
      temp=arr[i]; 
      index=i-1; 
      while (index>=0 && temp<arr[index]) 
      { 
       arr[index+1]=arr[index]; 
       index--; 
      } 
      arr[index+1]=temp; 
     } 
    } 
} 
+0

出力があります。 –

+1

私もeclipseのコンソールで出力を受け取った。コンソールバッファーの限界をIDEでチェックしている場合は、環境設定 - >実行/デバッグ - >コンソールで設定することができます。 – Jaiprakash

答えて

1

私のマシン上で実行しました。うまくいった。 java.util.Randomをインポートしてください。

+0

すべてのプログラマー引数 –

4

ほとんどのIDEでは、 Eclipseコンソールの出力には制限があります。実行コンフィギュレーション(Eclipseを使用していると仮定します)の出力をファイルにリダイレクトすると、出力が表示されます。

また、コンソール出力で「ワードラップ」を有効にすると、Eclipseと見なして再度表示することができます。

+0

本当にIDEの問題です。 – DR29

0

Eclipseコンソールに行の長さの制限があるようです。コマンドラインでコードを実行すると、うまく印刷されます。

あなたは日食でこの問題を解決したい場合は、設定を変更します。

(1) 'ウィンドウ' メニューをクリックします - > 'の好み' (2) '実行/デバッグを' - > 'コンソール' (3) '固定幅コンソール'を確認してください

これはあなたのコードがEclipseで動作するはずです。

enter image description here

関連する問題