java吧 关注:1,297,671贴子:12,833,675
  • 2回复贴,共1

binarySearch返回值的问题

只看楼主收藏回复

import java.util.Arrays;
public class ArraySearch
{
int a[]={1,4,3,2,5,9,56};
private void arraySearch(int aim)
{
//if(Arrays.binarySearch(a,aim)<0)
//{
// System.out.println("指定的数组元素不存在");
//}
//else
{
System.out.println("数组元素在第"+
Arrays.binarySearch(a, aim)+"位");
}
}
public static void main(String[] args)
{
ArraySearch a1=new ArraySearch();
a1.arraySearch(1);
a1.arraySearch(43);
a1.arraySearch(3);
a1.arraySearch(2);
a1.arraySearch(5);
a1.arraySearch(9);
a1.arraySearch(56);
// TODO Auto-generated method stub
}
}
为什么输出会是这个?
数组元素在第0位
数组元素在第-7位
数组元素在第-5位
数组元素在第3位
数组元素在第4位
数组元素在第5位
数组元素在第6位
3是存在的啊,返回值怎么还是负的?


IP属地:上海1楼2012-07-15 20:26回复
    不是有序的数组怎么二分啊?数死早


    IP属地:江苏2楼2012-07-15 20:34
    收起回复