2014-01-10 9 views
0

Итак, я создаю графический интерфейс, в котором пользователь вводит ряд чисел в список массивов, и я пытаюсь сделать так, чтобы я мог получить сумму всех чисел . оных в этом то, что у меня есть:Как суммировать все элементы arraylist

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 
+10

Как вы думаете, что означает ошибка? –

+0

Вы передаете строку, но не целое число, попробуйте изменить код для извлечения ввода. И, пожалуйста, напишите полный код –

+0

Обычно для GUI требуется преобразование строк в int :) –

ответ

2

Держу пари, у вас есть ArrayList<String>. Это означает, что ваши номера хранятся как String. Итак, что вы должны сделать, это использовать ArrayList<Integer>, а затем проанализировать строки, которые вы получаете с Integer.parseInt(yourinputstring), а затем добавить это в ArrayList.

1

Вы можете использовать Integer.parseInt(String) как так

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

спасибо, что это сработало :) – user3182054

1

кажется, что ваш GUI принимает пользовательский ввод в виде списка String.

В этом случае попробуйте:

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

Просто смотреть на этом фрагменте, я предположил бы, что вы должны преобразовать «numberlist.get (I)» к междунар.

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); 
} 
Смежные вопросы