проблемы с пониманием передачи 2d-массива методам и отображением

#java #arrays #methods

Вопрос:

С помощью этой программы я должен использовать методы для прохождения, чтобы получить пользовательский ввод для заполнения 2d-массива 3×4. Затем добавьте сумму столбцов и отобразите результаты.

Сетка int [] [] = fillArray(); содержит ошибку, которая требуется в [] []. Почему я не могу вызвать свой метод в основном? Вот как говорится в книге, чтобы сделать это вместе с бесчисленными видео на YouTube.

 public class SumOfColumns {

    

    public static int sumColumn(int[][] m, int columnIndex) {
        for (int column = 0; column < 4; column  ) {
            columnIndex = 0;
            for (int row = 0; row < 3; row  ) {
                columnIndex  = m[column][row];
            }
        }
        return columnIndex;
    }

    public static void main(String[] args) {
        
       ***int[][] grid = fillArray();***
    }
    public static int[][] fillArray(int[][] userInput) {
        Scanner input = new Scanner(System.in);
         int[][] grid = new int[3][4];
        System.out.println("Enter a 3x4 grid of numbers please: ");
        for (int row = 0; row < grid.length; row  ) {
            for (int column = 0; column < grid[row].length; column  ) {
                grid[row][column] = input.nextInt();
            }
        }
        return grid;
    }

}
 

Ответ №1:

Когда вы объявляете свою fillArray функцию , вы вводите ее int[][] userInput , но затем, когда вы вызываете:

 int[][] grid = fillArray();
 

вы не даете fillArray и не вводите int[][] информацию . Если вы удалите параметр из fillArray функции, это должно его исправить. Это выглядело бы так:

 public static int[][] fillArray() {
    // your code...
}