我正在努力实现以下目标:
给定一个列表{146,7,-2,-1}写一个新的列表,使其第i个元素由" i"的总和组成。和我+ 1"。
所以这个列表:{146,153,151,150}将被转换为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}。我做错了什么?
答案 0 :(得分: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);
}