获取数组求和并通过JAVA中的方法返回值

时间:2018-02-24 16:06:43

标签: java arrays

我有一个带有返回数组值之和的方法的代码示例。但不是总和,我得到0。

这是我的代码示例

.Renviron

任何人都可以告诉我什么;我的代码错了吗?

4 个答案:

答案 0 :(得分:1)

循环根本不运行 - 条件data[0] < sizefalse,因此返回answer = 0的初始值。

要使其有效,请将语句更改为(int i = 0; i < size; i++)。此外,size可能会被data.length替换。

答案 1 :(得分:1)

这是您的代码,稍作修正。试试吧。

class Calculation {

    public int SumOfArrays(int data[]) {
        int answer = 0; // this is just better
        for (int i = 0; i < data.length; i++) {
            answer += data[i];
        }        
        return answer;
    }

class Main {

    public static void main(String[] args) {
        Calculation cal = new Calculation();
        int data[]={10,20};
        System.out.println(cal.SumOfArrays(data));            
    }
}

答案 2 :(得分:1)

for循环的计数器i未正确初始化。您已将其初始化为数组中第一个元素的值而不是0.将其初始化为0,如下所示:

    for (int i = 0; i < size; i++) {
        answer += data[i];
        //System.out.println(data[i]);
    }

答案 3 :(得分:0)

正如您从循环中看到的那样 for(int i = data[0]; i < size; i++) 变量i等于data array中的第一个元素,这意味着它大于size变量。所以循环根本不会开始 解决问题的方法是将循环改为此

   for (int i = 0; i < size; i++) {
        answer += data[i];
        //System.out.println(data[i]);
    }