A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 yekong262 于 2014-1-23 11:29 编辑

int [] arr={1,5,6,7};  key=7  查找7是否在数组arr中
  1. public static int getIndex(int[] arr,int key)
  2.         {
  3.                 for (int x=0;x<arr.length ;x++ )
  4.                 {
  5.                         if (key==arr[x])/ 当x=0时,key、=7不等于arr[0]=1 那也就是这句话不运行  
  6.                              return x;
  7.                            return -1; //那是不是就该运行这句话 这样的话 该返回   -1的
  8.                                             为什么返回的是3呢
  9.                         
  10.                 }
  11.                 return 55;//当数组为空时,这里没有返回值的话。就无法运行、
  12.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
FFF + 1

查看全部评分

11 个回复

倒序浏览
这个运行顺序是怎么个顺序啊。。
回复 使用道具 举报
本帖最后由 qisikudingcha 于 2014-1-22 11:34 编辑

你确定你返回的是3,实在不行你用debug调试一下就能看出来程序是怎么跑的
回复 使用道具 举报
你定义的x是arr[x]索引值,下标从0开始,key=7,在arr第四个数,索引值正好是3
回复 使用道具 举报
心安勿忘 发表于 2014-1-22 11:05
你定义的x是arr[x]索引值,下标从0开始,key=7,在arr第四个数,索引值正好是3 ...

那是不是说 if这个条件语句 把 arr数组中0-3的角标 都确认一遍之后 才开始运行下面的代码??
回复 使用道具 举报
如果你返回的是arr[x]的话才可以是7,因为x的值为3,你弄错了。你可以return arr[x]
回复 使用道具 举报
你在if后面返回的是arr的角标值,7正好在arr[3],return应该自循环外面的,没有查找到返回-1
回复 使用道具 举报
应该返回-1啊 楼主你再仔细确认一下
回复 使用道具 举报
孤独的天奇 发表于 2014-1-22 12:11
应该返回-1啊 楼主你再仔细确认一下

假如要找的是7的话 返回值是3 这个 我已经测试过了。。你可以试试。。。
回复 使用道具 举报
我试了下你的这个代码    返回的是 -1   
回复 使用道具 举报
向阳泪无痕 发表于 2014-1-22 17:01
我试了下你的这个代码    返回的是 -1

哦 。。我知道了,。,我输错调用的功能了
回复 使用道具 举报
retrun -1 这是通常这样写负数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马