元素总和ArrayList

时间:2018-10-18 12:28:37

标签: java arraylist methods

我是Java的初学者,正在尝试获取ArrayList中所有元素的总和。我通过使用方法来做到这一点,并在方法中得到此错误:

  

“二进制操作数“ +”的错误操作数类型的第一种:int,第二种   类型:对象”

我不知道我在做什么错,谢谢您的帮助!

public static int sumNumbers(ArrayList numbers){
    int sum = 0;
    for(int i = 0; i<numbers.size(); i++){
        sum+=numbers.get(i);
   }
    return sum;
}

4 个答案:

答案 0 :(得分:1)

正如其他人指出的那样,您需要给gsub('1', '', sapply(split(df, 1:nrow(df)), function(i) paste(paste0(names(i)[i != 0], i[i != 0]), collapse = ''))) # 1 2 3 # "C5H5" "C6H4NS" "C4H6N2O" 指定一个类型。然后,您可以使用本机流使代码更紧凑:

ArrayList

答案 1 :(得分:0)

numbers声明为ArrayList<Integer> numbers。 然后Integer将被取消装箱到int。现在,您的arraylist包含的objects可能不是int

目前,numbers.get()将返回object,并且您不能直接将object添加到int

您始终可以将元素强制转换为Integer,但我建议使用第一个选项。

答案 2 :(得分:0)

这会很好。

import java.util.ArrayList;

public static int sumNumbers(ArrayList<Integer> numbers){
    int sum = 0;
    for(int i = 0; i<numbers.size(); i++){
      sum+=numbers.get(i);
    }
    return sum;
  }

public static int sumNumbers(ArrayList<Integer> numbers){
    return numbers.stream().mapToInt(n->n).sum();
  }

答案 3 :(得分:0)

// create a list
List<Integer> ints = Arrays.asList(1, 2, 3);

// get the sum of the elements in the list
int sum = MathUtils.sum(ints);