如何总结一个arraylist的所有元素

时间:2014-01-10 15:02:40

标签: java arrays arraylist integer

所以我正在创建一个GUI,基本上用户将一系列数字输入到数组列表中,我正在努力使它能够得到所有数字的总和。这就是我所拥有的:

sum = 0;
for(int i=0; i<numberlist.size(); i++){
    sum += numberlist.get(i);
}
Output.setText("The Sum of all the numbers is " + sum);
}

我收到一条错误消息:

inconvertable types. 
required : int 
found: java.lang.string

5 个答案:

答案 0 :(得分:2)

我打赌你有ArrayList<String>。这意味着您的号码存储为String。所以你应该做的是使用ArrayList<Integer>,然后用Integer.parseInt(yourinputstring)解析你得到的字符串,然后将它添加到ArrayList。

答案 1 :(得分:1)

您可以像这样使用Integer.parseInt(String)

for (int i=0; i<numberlist.size(); i++){
  sum += Integer.parseInt(numberlist.get(i));
}

答案 2 :(得分:1)

您的GUI似乎将用户输入作为字符串列表。

在这种情况下尝试:

sum+=Integer.parseInt(numberlist.get(i));

答案 3 :(得分:1)

仅从查看此片段,我认为您必须将“numberlist.get(i)”转换为int。

sum = 0;
for(int i=0; i<numberlist.size(); i++){
    sum += Integer.parseInt(numberlist.get(i));
}
Output.setText("The Sum of all the numbers is " + sum);
}

答案 4 :(得分:0)

根据错误:

不可转换的类型。 必填:int 找到:java.lang.string

您定义了一个包含输入数字的String数组列表,以便将这些数字求和 首先,您需要将数字的字符串转换为数字,然后将它们求和:

  1. 如果值是Integer,则尝试使用Integer.parseInt()Integer.valueOf()
  2. 如果值是Double,则尝试使用'Double.parseDouble()'或'Double.valueOf()'
  3. Long.parseLong()Long.valueOf()
  4. more details about number
ArrayList<String> numberlist = new ArrayList<>();
numberlist.add("1");
numberlist.add("2");
numberlist.add("3");
int sum = 0;
for (int i = 0; i < numberlist.size(); i++) {
    sum += Integer.valueOf(numberlist.get(i));
}
Output.setText("The Sum of all the numbers is " + sum);