我正在尝试使用随机数填充数组以进行排序并在二进制搜索中使用。我的所有代码似乎都工作正常,除了生成部分。数字需要在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.也许这与数组排序有关,我没有意识到。有什么建议吗?
答案 0 :(得分:5)
您永远不会设置数组的最后一个元素 - 使用i < SIZE
,而不是i < SIZE-1
。