2015-02-14 4 views
-1

вот мой код, и моя проблема в том, что я не могу скомпилировать его, включая ошибку, которую я вижу ниже.java error несовместимые типы, когда я компилирую

import java.util.*; 
public class util3_2 
{ 
     public static boolean IsPrime(int p) 
     { 
       for (int i = 2; i < p; i++) 
       { 
         if (p % i == 0 && i != p) 
           return false; 
       } 
       return true; 
     } 
     public static int[] GetPrimes(int n) 
     { 
       List<Integer> arr = new ArrayList<>(); 
       for (int j = 1; j <= n; j++) 
       { 
         if(IsPrime(j)) 
         { 
           arr.add(j); 
         } 
       } 
       return Arrays.asList(arr); 
     } 
} 

здесь моя ошибка

error: incompatible types 
       return Arrays.asList(arr); 
            ^
    required: int[] 
    found: List<List<Integer>> 
1 error 

я понятия не имею, что моя ошибка есть.

+0

Вам требуется 'int []', но вы предоставляете «Список <Список >». Это не одно и то же. – Makoto

+0

измените возвращаемое значение вашей функции на список и верните arr. – tomasb

ответ

-1

Вы должны вернуть массив. Поверните список в массив, вызвав метод toArray в списке «arr».

+0

Вы никогда не получите массив примитивных 'int' из этого списка. – Makoto

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