2016-10-15 1 views
-4

두 개의 객체를 추가해야하는데 하나는 Integer 유형이고 다른 하나는 ArrayList (i) 유형입니다. 여기에 내가 작업하고있는 함수가 있습니다. 배열의 평균을 찾아야합니다. 오류는 다음과 같습니다. 오류 : 이진 연산자 '+'에 대한 잘못된 피연산자 유형 (7 번째 줄) 그 합은 Integer 유형이고 a.get (i)는 Object 유형입니다.Integer 객체와 Object를 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

자바 ** 컴파일러 **가 염려하는 한,'ArrayList'는 정수가 아닌 어떤 것도 포함 할 수 있습니다. 그래서 어떤 객체를 정수에 추가 할 수 없기 때문에 불평합니다. 제네릭을 사용하고 목록을'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));  
} 

은}

관련 문제