2016-10-15 2 views
-4

Мне нужно добавить два объекта, один из которых является Integer, а другой тип ArrayList (i). Вот функция, над которой я работаю, мне нужно найти среднее значение массива. Ошибка, которую я получаю: ошибка: неправильные типы операндов для двоичного оператора «+», для строки 7 здесь. Эта сумма имеет тип Integer и a.get (i) имеет тип Object.Как добавить объект Integer и объект в Java?

public static int brojDoProsek(ArrayList a){ 
    //Code here... 
    double average = 0.0; 
    Integer sum = new Integer(0); 

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

    average = sum/a.size(); 



    return 0; 
} 
+7

Что вы ожидаете, что сумма 'Integer' и' Object' быть? – tkausl

+0

@tkausl Integer –

+1

Что касается Java ** compiler **, ваш 'ArrayList' может содержать все, что угодно, а не только целые числа, поэтому он жалуется, потому что вы не можете добавить какой-либо объект в целое число. Если вы используете generics и объявляете свой список как «ArrayList », тогда компилятор будет знать, что список содержит целые числа и будет счастлив. –

ответ

0
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 

public class Array<E> { 


public static int brojDoProsek(ArrayList a){ 
    //Code here... 
    double average = 0.0; 
    Integer sum = new Integer(0); 

    for(int i = 0; i < a.size(); i++){ 
     //sum = sum + a.get(i); 
    } 

    average = sum/a.size(); 



    return 0; 
} 

public static void main(String[] args) throws IOException{ 
    BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); 
    String s = stdin.readLine(); 
    int N = Integer.parseInt(s); 

    //Code here... 
    ArrayList <Integer> niza = new ArrayList<Integer>(N); 

    String b; 
    for(int i = 0; i < N; i++){ 
     b = stdin.readLine(); 
     int temp = Integer.parseInt(b); 

     niza.add(i, temp); 
    } 

    System.out.println(brojDoProsek(niza));  
} 

}

Смежные вопросы