早教吧 育儿知识 作业答案 考试题库 百科 知识分享

假设double[]scores={1,2,3,4,5},则java.util.Arrays.binarySearch(scores,3.5)的返回值为:()A.0B.-4C.3D.-3E.4

题目详情
假设double[] scores = {1,2,3,4,5},则 java.util.Arrays.binarySearch(scores,3.5) 的 返回值为:( ) A.0 B.-4 C.3 D.-3 E.4
▼优质解答
答案和解析
Array类的静态方法BinarySearch()运用二分法在排好序的数组中搜索与给定值相同的元素,只有当数组元素按升序排列的时候才起作用.该方法返回的值是int,对应于找到value时的位置索引值.如果value不再数组中,那么返回一个负值,这个负值是这样产生:将它应该在的那个索引位置值取负数,再减去1得到的值为返回的值.比如:public static void main(String[] args) { int[] number={1,2,4,5,8}; int position = java.util.Arrays.binarySearch(number,7); System.out.println(position); } } 打印结果为-5.因为7应该在number的第五位,索引值为4,取负为-4,再减1,为-5.如果不是升序排列的数组,那么它出来的结果不是报错,而是根据能得到的最小升序的部分数组进行查找.