[英]Perform String Append and Arithmetic Operations on ArrayList<String> elements
[英]Can't perform arithmetic operations on an ArrayList
我試圖在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僅包含整數。
可能是什么問題呢?
ArrayList InputArray = new ArrayList(); 我就是這樣宣布的
需要轉換使用原始類型的集合的元素以訪問引用類型的方法。 為了避免這種情況,引入了泛型。 更換
ArrayList InputArray = new ArrayList();
同
List<Integer> inputArray = new ArrayList<>();
//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;
}
您必須定義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);
首先,您需要確保使用所需的類型以正確的方式創建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);
嘗試這個。 祝好運!
這是一個使用字符串輸入數組的工作代碼,因為您應該將字符串作為用戶(來自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);
}
}
試試這個吧。
int sum = 0;
for (int i = 0; i < InputArray.size(); i++) {
int foo = Integer.parseInt(InputArray.get(i).toString());
sum = sum + foo;
}
它不起作用的原因是因為您試圖從非String
解析一個int
。
通過添加.toString()
方法,您將可以解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.