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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘凯旋 于 2014-3-4 19:03 编辑
  1. class ZuiDa
  2. {
  3.         public static int qiuzuida(int[] arr)
  4.         {
  5.                 int zuida=arr[0];
  6.                 for (int x=1;x<arr.length;x++)
  7.                 {
  8.                         if(arr[x]>zuida)
  9.                                 zuida=arr[x];
  10.                 }
  11.                 return arr[zuida];
  12.         }
  13.         public static void main(String[] args)
  14.         {
  15.                 int[] arr={5,8,9,465,46548,74,65,4,7};
  16.                 int zuida=qiuzuida(arr);
  17.                 System.out.println("zuida="+zuida);
  18.         }
  19. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

4 个回复

倒序浏览
return arr[zuida];  这句话有问题,前边你已经将zaida这个变量定义中arr中的一个元素,你到最后却要返回zaida在数组中所对的元素,。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
第十一行错误,第九行arr[x]已经赋值给了zuida,而你写的arr[zuida]完全不存在这个角标,zuida已经代表了arr数组里的一个元素,所以返回zuida即可,第十一行代码改为 return zuida;

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
int zuida=arr[0]; zuida不是角标啊,第11行为什么还要把最大放在[]里边,直接teturn zuida;就可以了
回复 使用道具 举报
11行改为 return zuida;根据你前面定义,最大值赋值到zuida变量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马