所以我正在创建一个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
答案 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数组列表,以便将这些数字求和 首先,您需要将数字的字符串转换为数字,然后将它们求和:
Integer.parseInt()
或Integer.valueOf()
Long.parseLong()
或Long.valueOf()
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);