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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


class  Demo
{
        public static void main(String[] args)
        {
                int[] arr={3,4,1,8};
               
                int max=getMax(arr);
                System.out.println("max="+arr[max]);
        }

        public static int getMax(int[] arr)
        {
                int max=0;
                for (int x=1;x<=arr.length;x++ )
                {
                        if (arr[x]>arr[max])
                        max=x;
               }
       }
}

5 个回复

倒序浏览
你下面的getMax函数为何没有返回值,没返回值你如何获取最大值
回复 使用道具 举报
zhqw_heima 发表于 2015-3-25 13:29
你下面的getMax函数为何没有返回值,没返回值你如何获取最大值

返回值复制的时候漏掉了,代码是这样的:
  1. class  Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] arr={3,4,1,8};
  6.                
  7.                 int max=getMax(arr);
  8.                 System.out.println("max="+arr[max]);
  9.         }

  10.         public static int getMax(int[] arr)
  11.         {
  12.                 int max=0;
  13.                 for (int x=1;x<arr.length;x++ )
  14.                 {
  15.                         if (arr[x]>arr[max])
  16.                         max=x;
  17.                 }
  18.                 return arr[max];
  19.         }
  20. }
复制代码
运行结果是这样的:
回复 使用道具 举报
向阳花 发表于 2015-3-25 18:51
返回值复制的时候漏掉了,代码是这样的:
运行结果是这样的:

你这个提示是数组角标溢出异常,你 for (int x=1;x<arr.length;x++ ),你这个应该是 x<arr.length-1
回复 使用道具 举报
起初我也认为是这样,可是试过之后发现还是同样的错误提示。在这个数组中,arr.length=4,如果设置为x<arr.length-1,也就是x<3,x最大值可以取到2,数组中最后一个元素角标是3,这样还是不对的。
回复 使用道具 举报
zhqw_heima 发表于 2015-3-26 11:39
你这个提示是数组角标溢出异常,你 for (int x=1;x

起初我也认为是这样,可是试过之后发现还是同样的错误提示。在这个数组中,arr.length=4,如果设置为x<arr.length-1,也就是x<3,x最大值可以取到2,数组中最后一个元素角标是3,这样还是不对的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马