黑马程序员技术交流社区
标题:
求数组最大值,怎么编译通过了却运行不了?
[打印本页]
作者:
刘凯旋
时间:
2014-3-2 14:04
标题:
求数组最大值,怎么编译通过了却运行不了?
本帖最后由 刘凯旋 于 2014-3-4 19:03 编辑
class ZuiDa
{
public static int qiuzuida(int[] arr)
{
int zuida=arr[0];
for (int x=1;x<arr.length;x++)
{
if(arr[x]>zuida)
zuida=arr[x];
}
return arr[zuida];
}
public static void main(String[] args)
{
int[] arr={5,8,9,465,46548,74,65,4,7};
int zuida=qiuzuida(arr);
System.out.println("zuida="+zuida);
}
}
复制代码
作者:
无道
时间:
2014-3-2 14:21
return arr[zuida]; 这句话有问题,前边你已经将zaida这个变量定义中arr中的一个元素,你到最后却要返回zaida在数组中所对的元素,。
作者:
我叫MT
时间:
2014-3-2 14:21
第十一行错误,第九行arr[x]已经赋值给了zuida,而你写的arr[zuida]完全不存在这个角标,zuida已经代表了arr数组里的一个元素,所以返回zuida即可,第十一行代码改为 return zuida;
作者:
无此姓名
时间:
2014-3-2 17:16
int zuida=arr[0]; zuida不是角标啊,第11行为什么还要把最大放在[]里边,直接teturn zuida;就可以了
作者:
herim
时间:
2014-3-3 13:23
11行改为 return zuida;根据你前面定义,最大值赋值到zuida变量
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2