Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二进制搜索函数错误_Java - Fatal编程技术网

Java 二进制搜索函数错误

Java 二进制搜索函数错误,java,Java,打印结果如下:10,-1,0。 我不明白为什么binarySearch(arr,10)给了我-1,而实际上10在数组中,正如您可以从文档中看到的: java.util.Arrays.binarySearch(int[]a,int key)方法使用二进制搜索算法搜索指定的int数组中的指定值。在进行此调用之前,必须对数组进行排序。如果未排序,则结果未定义 因此,您必须在订购阵列之前 相反,如果使用“未排序”,则结果是未定义的 根据二进制搜索规范 import java.lang.*; import

打印结果如下:10,-1,0。
我不明白为什么
binarySearch(arr,10)
给了我
-1
,而实际上
10
在数组中,正如您可以从文档中看到的:

java.util.Arrays.binarySearch(int[]a,int key)方法使用二进制搜索算法搜索指定的int数组中的指定值。在进行此调用之前,必须对数组进行排序。如果未排序,则结果未定义

因此,您必须在订购阵列之前

相反,如果使用“未排序”,则结果是未定义的

根据二进制搜索规范

import java.lang.*;
import java.util.*;
public class AnotherArrayPractice{
public static void main (String[] args){
  int [] arr={130,10};
  System.out.println(arr[1]);
  System.out.println(Arrays.binarySearch(arr,10));
  System.out.println(Arrays.binarySearch(arr,130));

  }
}