我用此方法不能查询数组里面的负数
代码如下:
import java.util.*;
public class SearchDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//第一一个变量用来接收数组的索引
int index = 0;
//定义一个变量用来查询是否存在数组中
int searchNum = 0;
//定义一个数组
int length = 5;
int[] ary = new int[length];
//循环为数组赋值
for(int i=0; i<length; i++) {
System.out.print("请输入第"+(i+1)+"个数:");
ary[i] = input.nextInt();
System.out.println();
}
System.out.println("**************************************");
//用来输出输出
Arrays.sort(ary);
String ary1 = Arrays.toString(ary);
Arrays.toString(ary);
System.out.println("所有接收的数据为:"+ary1);
System.out.print("请输入要查询的数:");
searchNum = input.nextInt();
index = Arrays.binarySearch(ary,searchNum);
System.out.println(index);
}
}
可以的
[code="java"]
import java.util.Arrays;
import java.util.Scanner;
/**
下午9:32:18
*
/
public class SearchDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 第一一个变量用来接收数组的索引
int index = 0;
// 定义一个变量用来查询是否存在数组中
int searchNum = 0;
// 定义一个数组
int length = 5;
int[] ary = new int[length];
// 循环为数组赋值
for (int i = 0; i < length; i++) {
System.out.print("请输入第" + (i + 1) + "个数:");
ary[i] = input.nextInt();
System.out.println();
}
System.out.println("*************************************");
// 用来输出输出
Arrays.sort(ary);
String ary1 = Arrays.toString(ary);
Arrays.toString(ary);
System.out.println("所有接收的数据为:" + ary1);
System.out.print("请输入要查询的数:");
searchNum = input.nextInt();
index = Arrays.binarySearch(ary, searchNum);
System.out.println(index);
}
}
[/code]
result:
请输入第1个数:1
请输入第2个数:2
请输入第3个数:12
请输入第4个数:-12
请输入第5个数:-1
所有接收的数据为:[-12, -1, 1, 2, 12]
请输入要查询的数:-1
1