6.4.5数据查询 例6.17
发表在Java图书答疑
2018-01-30 悬赏:1 学分
《Java从入门到精通(第4版)》第6章 数组 118页-118页
是否精华
是
否
版块置顶:
是
否
int arr[]=new int[] {4,25,10};
Arrays.sort(arr);
int index=Arrays.binarySearch(arr, 0,1,8);
System.out.println(index);
上面的代码中的变量index的值是元素“8”在数组arr中索引在0~1内的索引位置。由于在指定范围内并不存在元素“8”,index的值是“-”(插入点)。如果对数组进行排序,元素“8”应该在“25”的前面,因此插入点应该是元素“25”的索引值2,所以index的值是-2。
如果数组中的所有元素都小于指定的键,则为a.length(注意,这保证了当且仅当此键被找到时,返回的值将大于等于0)。
我的疑问:数组排序后变成{4,10,25}那元素“8”应该在“10”的前面才对啊?排序后0~1的索引位置不是在4,10之间吗?我把“8”换成比25更大的数后,输出的值为什么还是-2?a.length的值不应该是3吗?求老师解惑!
首页上一页 1 下一页尾页 2 条记录 1/1页