有人可以建议,如何获得前几个列表元素(整数)的总和?
注意:我的Java版本:“1.7.0_07”。
以下是代码:
Integer sum=new Integer(0);
for(int i=0;i<3;i++)
sum=sum+list.get(i);
错误: 对于参数类型Integer,Object
,运算符+未定义答案 0 :(得分:2)
我相信你已经将你的名单宣布为原始类型,即
List list = new List();
您需要做的是:
List<Integer> list = new List<Integer>();
或者你必须在每次执行list.get()之后进行类型转换。
sum=sum+(Integer)list.get(i);
编辑:关于你的其他问题
如果我定义喜欢 - &gt; '列表列表',看到错误建议 像“语法错误,参数化类型仅在源时可用 等级为1.5“
答案:
我的猜测是,当你用jdk 1.6运行eclipse时,它就是 实际配置了不同的默认jre。看到 window-&gt; preferences-&gt; java-&gt;安装JRE并确保 检查JRE是1.6。 (我希望你得到这个错误 在某些IDE中工作)如果默认的JRE确实是1.6,那么很可能 这是一个项目特定的设置。看到该项目是 配置为使用正确的jre。
答案 1 :(得分:2)
您的列表应定义为:
List<Integer> list = whateverCreatesYourList();
然后你可以:
Integer sum = Integer.valueOf(0);
for(Integer i: list){
sum += i;
}
重要的部分不是使用原始List
类型,而是使用完全定义的通用List<Integer>
。
答案 2 :(得分:0)
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(5);
list.add(5);
list.add(5);
Integer sum = new Integer(0);
for (int i = 0; i < 3; i++) {
sum = sum + list.get(i);
}
System.out.println(sum);
答案 3 :(得分:0)
检查此样本
List<Integer> list = new ArrayList<Integer>();
list.add(10);
list.add(20);
list.add(30);
Integer sum = 0;
int listSize = list.size();
for (int i = 0; i < 3; i++) {
if (i < listSize) {
sum += list.get(i);
}
}