2014-11-12 7 views
0

Этот метод должен занять 2 строки по 3 столбцов массива m, сортировки и вывода отсортированного массиваНесоответствие типов при сортировке 2D массив

import java.util.Arrays; 
public class Foo { 
    public static void main(String[] args) { 
    int[][] m1 = { { 14, 11, 13, 12 }, 
        { 18, 15, 13, 13 }, 
        { 19, 16, 15, 17 } }; 
    sortRows(m1); 
    } 
    public static int[][] sortRows(int[][] m) { 
    int sorted[][] = new int[2][3]; 
    for (int i = 0; i <= 2; i++) { 
     sorted[i] = Arrays.sort(m[i]); //ERROR- cannot convert from void to int 
    } 
    return sorted; 
    } 
} 

Я не могу себе представить, где пустота будет поступать из. Что это вообще значит?

+0

Не могли бы вы показать код вызова? – ryanpattison

+0

Разве вы не должны читать документацию Javadoc и посмотреть, что на самом деле возвращает 'Arrays.sort()'? – SJuan76

ответ

2

Это происходит потому, что Arrays.sort() является void метод и он не имеет возвращаемого значения

Если вы сомневаетесь, проверьте documentation

+0

Да. [документация] (https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#sort-int:A-) – Justin

+0

Да @Quincunx. добавлено – DnR

+0

Итак, Arrays.sort() изменяет исходный массив? Тогда я думаю, что мне нужно дублировать массив, прежде чем сортировать его. – Jack

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