黑马程序员技术交流社区

标题: 数组中取最大值return如果放for循环内为什么就是缺少返回值了? [打印本页]

作者: Mi123    时间: 2015-5-15 23:51
标题: 数组中取最大值return如果放for循环内为什么就是缺少返回值了?
class Demo
{
        public static void main (String[]args)
        {
                int []arr={10,20,50};
                System.out.println(getMax(arr));
        }
        public static int getMax(int []arr)
        {
                int max = arr[0];
                for(int x=0;x<arr.length;x++)
                {
                        if(arr[x]>max)
                        {
                                max=arr[x];
                                       
                        }
                       
                }
                return max;
        }
作者: shao122791159    时间: 2015-5-16 00:04
你的if缺少一个else 。如果if的条件不满足那么程序就无法执行下去了,所以给你报了这个错误
作者: rick1991chen    时间: 2015-5-16 01:06
你的for循环有可能一次都不会完成,所以JVM判断有可能你的函数没有返回值,所以,要么改你的循环条件让它一直为真,要么把return语句放在循环外面
作者: 想要那片海    时间: 2015-5-16 08:50
如果你的if条件为false了,那for循环里就没有返回的值了呀,你得写一条与if条件相反的返回语句
作者: 南朝小和尚    时间: 2015-5-16 10:44
不匹配,你考虑下逻辑判断结果的其他情况就知道了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2