我试图在ArrayList中找到整数的总和,但是我遇到了数据类型的问题。
这是我目前的代码:
int sum = 0;
for (int i = 0; i < InputArray.size(); i++) {
sum = sum + InputArray.get(i)
}
然而,这给了我错误:
error: bad operand types for binary operator '+'
我也尝试过:
int sum = 0;
for (int i = 0; i < InputArray.size(); i++) {
int foo = Integer.parseInt(InputArray.get(i));
sum = sum + foo;
}
然而,这给了我错误:
error: no suitable method found for parseInt(object)
ArrayList仅包含整数。
可能是什么问题?
答案 0 :(得分:4)
ArrayList InputArray = new ArrayList();就是我宣称的那个
需要强制使用raw types的集合元素来访问引用类型的方法。引入泛型以避免这种情况。替换
ArrayList InputArray = new ArrayList();
与
List<Integer> inputArray = new ArrayList<>();
答案 1 :(得分:2)
//If your list should only Integers, there's no reason not to do this
ArrayList<Integer> InputArray = new ArrayList<Integer>();
//Add some integers
InputArray.add(1);
InputArray.add(2);
InputArray.add(100);
//Create your sum variable
int sum = 0;
//You could use a foreach loop
for(int i : InputArray) {
sum += i;
}
答案 2 :(得分:1)
您必须定义ArrayList的类型;
ArrayList<Integer> a = new ArrayList<Integer>();
for (int i=0; i < 10; i++) {
a.add(i);
}
int sum = 0;
for (int i=0; i < 10; i++) {
sum = sum + a.get(i);
}
System.out.println(sum);
答案 3 :(得分:0)
首先,您需要确保以正确的方式创建ArrayList:
ArrayList<Integer> list = new ArrayList<Integer>();
然后你可以做一个循环:
int sum = 0;
for (int i=0; i<list.size(); i++
{
sum += list.get(i);
}
System.out.println(sum);
试试这个。祝你好运!
答案 4 :(得分:0)
这是一个使用输入数组字符串的工作代码,因为你应该将字符串作为来自用户的输入(来自input.nextLine):
import java.util.ArrayList;
import java.util.List;
public class Sum {
public static void main(String[] args) {
List<String> InputArray = new ArrayList<String>();
InputArray.add("1");
InputArray.add("2");
int sum = 0;
for(String element : InputArray) {
sum += Integer.valueOf(element);
}
System.out.println(sum);
}
}
答案 5 :(得分:-2)
试试这个。
int sum = 0;
for (int i = 0; i < InputArray.size(); i++) {
int foo = Integer.parseInt(InputArray.get(i).toString());
sum = sum + foo;
}
它不起作用的原因是因为您试图从不是int
的内容中解析String
。
通过添加.toString()
方法,您可以解决这个问题。