随机数发生器继续包括0

时间:2012-10-05 00:13:16

标签: java random numbers

我正在尝试使用随机数填充数组以进行排序并在二进制搜索中使用。我的所有代码似乎都工作正常,除了生成部分。数字需要在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.也许这与数组排序有关,我没有意识到。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

您永远不会设置数组的最后一个元素 - 使用i < SIZE,而不是i < SIZE-1