如何将当前索引与arraylist中的所有先前数字相加?

时间:2016-12-01 01:09:17

标签: java arrays recursion arraylist

我是java的新手,我主要使用C ++,现在我在尝试将数组中当前索引的所有先前数字相加时遇到了一些麻烦。谢谢你的帮助:)。

public StaticStack<Integer> sumPrev(DoublyLinkedList<Integer> list, StaticStack<Integer> stack, int i){
    if(i < list.numElements()){
        stack.push(lista.get(i));
        i++;
        return sumPrev(listaD, pilhaS, i);
    }

    return stack;

}

我需要的是获取lista.get(i)以及列表中的所有先前数字。对不起我的英语,还在学习:(

2 个答案:

答案 0 :(得分:0)

刚刚知道该怎么做,这就是:

public StaticStack<Integer> sum(DoublyLinkedList<Integer> list, StaticStack<Integer> stack, int i, int sum){
    if(i < list.numElements()){
        if(i == 0){
            stack.push(listaD.get(i));
            sum = list.get(i);
            i++;
            return acum(list, stack, i, sum);
        }
        else{
            stack.push(list.get(i) + sum);
            sum = sum + list.get(i);
            i++;
            return acum(list, stack, i, sum);
        }
    }

    return stack;

}

答案 1 :(得分:0)

这就是你想要的:

List<Integer> list = IntList.range(1, 10).toList();
List<Integer> sumList = new ArrayList<>();
int sum = 0;

for (int i = 0, len = list.size(); i < len; i++) {
    sum += list.get(i);
    sumList.add(sum);
}

System.out.println(list); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
System.out.println(sumList); // [1, 3, 6, 10, 15, 21, 28, 36, 45]