2016-12-01 45 views
-1

我是新來的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

刪除'Stack',返回一個'int'。像'return(i> 0)?list.get(i)+ sumPrev(list,i - 1):list.get(0);'List'不是數組。 –

回答

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; 

} 
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] 
相關問題