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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 泼孩 于 2011-11-15 15:46 编辑

定义个功能,求出给定数组的元素的和,在主函数中如何输出?
下面的代码谁给看看?编译提示(ArrayDemo2.java:18: 错误: 缺少返回语句
        })
        public static void main(String [] args)
        {
               
                int [] arr={1,2,2};
                Arraysum(arr);
        }
public static int Arraysum(int []arr)
        {
                        int sum=0;
                for(int x=0;x<arr.length;x++)
                {
                        sum+=arr[x];
                    System.out.println("Arraysum="+sum);
                        return sum;
                }
        }

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 小问题也需要问。

查看全部评分

11 个回复

倒序浏览
强子 黑马帝 2011-11-15 11:00:15
沙发
将return 语句写在循环外面
因为循环需要判断条件 循环内的代码不一定会执行 编译器判定你这个返回值为int类型的方法存在没有返回值的情况  

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2 很不错。

查看全部评分

回复 使用道具 举报
    public static void main(String [] args)
        {
               
                int [] arr={1,2,2};
                Arraysum(arr);
        }
public static int Arraysum(int []arr)
        {
                        int sum=0;
                for(int x=0;x<arr.length;x++)
                {
                        sum+=arr[x];
                    System.out.println("Arraysum="+sum);
                        return sum;//这句放到大括号外面,即循环外面
                }
        }


评分

参与人数 1技术分 +2 收起 理由
老罗 + 2 配上代码,配上注释,给力。

查看全部评分

回复 使用道具 举报
泼孩 黑马帝 2011-11-15 11:06:15
板凳
强子 发表于 2011-11-15 11:00
将return 语句写在循环外面
因为循环需要判断条件 循环内的代码不一定会执行 编译器判定你这个返回值为int ...

对哦。忘了循环跟return两回事了。。谢谢了
回复 使用道具 举报
你有System语句干嘛还要return呢?直接讲方法返回类型改为void,去掉return就ok!
回复 使用道具 举报
加油哦!
回复 使用道具 举报
泼孩 黑马帝 2011-11-15 11:31:57
7#
本帖最后由 泼孩 于 2011-11-15 11:32 编辑
Francis-Yu 发表于 2011-11-15 11:12
你有System语句干嘛还要return呢?直接讲方法返回类型改为void,去掉return就ok! ...


你看结果是神马类型的,是void吗?去掉return?看到编译提示了没
回复 使用道具 举报
泼孩 黑马帝 2011-11-15 11:33:05
8#
强子 发表于 2011-11-15 11:00
将return 语句写在循环外面
因为循环需要判断条件 循环内的代码不一定会执行 编译器判定你这个返回值为int ...

嗯,嗯解决了,thank you
回复 使用道具 举报
咖啡 黑马帝 2011-11-15 15:16:16
9#
跟这个是一样的public static int Arraysum(int[] arr){
                return null;
                        }   你把   public static void main(String [] args)
        {
               
                int [] arr={1,2,2};
                Arraysum(arr);
        }
public static int Arraysum(int []arr)
        {
                        int sum=0;
                for(int x=0;x<arr.length;x++)
                {
                        sum+=arr[x];
                    System.out.println("Arraysum="+sum);
                        return sum;//这句放到大括号外面,即循环外面
                }
        }

就对了
回复 使用道具 举报
老罗 黑马帝 2011-11-15 16:44:22
10#
不错,马上就改成以解决了。
回复 使用道具 举报
泼孩 黑马帝 2011-11-15 16:45:31
11#
老罗 发表于 2011-11-15 16:44
不错,马上就改成以解决了。

发现了,很给力
回复 使用道具 举报
常文艺 黑马帝 2011-11-15 17:08:20
12#
class A
{
public static void main(String [] args)
        {
               
                int [] arr={1,2,2};
                Arraysum(arr);
        }
public static void Arraysum(int []arr)
        {
                        int sum=0;
                for(int x=0;x<arr.length;x++)
                {
                        sum+=arr[x];
                  
                        
                } System.out.println("Arraysum="+sum);
        } }输出语句你放循环里那得输出多少次啊。这样就好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马