2014-10-10 48 views
0

連續元素我試圖實現以下目標:加入ArrayList的

給出一個列表{146,7,-2,-1}寫一個新的列表,使得它的第i個元素組成的總和「 i」和i + 1" 的

所以這個列表:{146153151150}將被轉換成146 146 + 7 = 153,153 +( - 2)= 151等 我寫了下面。 :

List<Integer> list = new ArrayList<Integer>(); 
List<Integer> list2 = new ArrayList<Integer>(); 

list2.add(0, list.get(0)); 

for(int i=0;i<list.size()-1;i++) 
{ 
    list2.add(i+1, list.get(i+1)+list.get(i)); 
    System.out.println(list2); 
} 

但是,這返回{146,153,6,-3}。我做錯了什麼?

回答

3

你應該增加list2.get(i),而不是list.get(i)

List<Integer> list = new ArrayList<Integer>(); 
List<Integer> list2 = new ArrayList<Integer>(); 
list2.add(0, list.get(0)); 

for(int i=0;i<list.size()-1;i++) 
{ 
    list2.add(i+1, list.get(i+1)+list2.get(i)); 
    System.out.println(list2); 

}