已有101人关注
请教数组查询
发表在Java图书答疑 2010-03-17
是否精华
版块置顶:
public static void main(String[] args) {
int b[][]=new int[][]{{1,2,3},{7,6,5},{8,7,9}};
for(int i[]: b){
for(int y:i){
System.out.print(Arrays.binarySearch(i, y)+"、");

}
}

}
结果为:0、1、2、-4、1、-1、-3、1、2、
请给解释一下,结果是如何得出来的,看不明白。
谢谢。
分享到:
精彩评论 1
绿草_mrkj
学分:0 LV1
2010-03-18
沙发
  Arrays类的binarySearch()方法是使用二分法就数组进行排序。在使用该方法前,一定要将数组进行排序,否则得到的结果是不确定的。你可以将程序做如下修改:
  public static void main(String[] args) {
int b[][]=new int[][]{{1,2,3},{7,6,5},{8,7,9}};
for(int i[]: b){
Arrays.sort(i);
for(int y:i){
Arrays.sort(i);
System.out.print(Arrays.binarySearch(i, y)+"、");

}
}

}

得到的结果就很好理解了。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照