0

並べ替えてバイナリ検索で使用する乱数を配列に入力しようとしています。私のコードはすべて、生成部分を除いて正常に動作しているようです。数字は 1 から 32767 の間である必要があり、0 を取得し続けます。

for(int i = 0; i < SIZE-1; i++){
   array[i] = (gen.nextInt(32767 - 1) + 1);
}

// Print out five entries
for(int i = 0; i < 5; i++){
   System.out.println(array[i]);
}

// Sort array
Arrays.sort(array);

// Print out first five sorted entries
for(int i = 0; i < 5; i++){
   System.out.println(array[i]);
}

それらが並べ替えられて出力された後、最初のエントリは常に 0 です。おそらく、これは配列の並べ替えに関係しており、私はそれを認識していません。助言がありますか?

4

1 に答える 1

5

配列の最後の要素を設定することは決してありません -i < SIZEではなくを使用してくださいi < SIZE-1

于 2012-10-05T00:16:22.550 に答える