Я пытался напрямую отправить значения в мой массив в качестве параметра, но он не работает - PullRequest
1 голос
/ 12 октября 2019

Это работает, если я инициализирую эти значения в другом массиве, а затем передаю его в основную функцию. Это то, что я делаю неправильно, или просто мы не можем напрямую передавать значения? Вот оба кода: - Использование массива для передачи: -

public class DDArray {
    void array(int[][] a){
        int x=a.length;
        int y=a[0].length;
        for(int i=0;i<x;i++){
            for(int j=0;j<y;j++){
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }
    }
    public static void main(String args[]){
        DDArray ob=new DDArray();
        int[][] b={{1,2,3,4,5},{11,22,33,44,55}};
        ob.array(b);
    }
}

Непосредственное прохождение: -

public class DDArray {
    void array(int[][] a){
        int x=a.length;
        int y=a[0].length;
        for(int i=0;i<x;i++){
            for(int j=0;j<y;j++){
                System.out.print(a[i][j] + " ");
            }
            System.out.println();
        }
    }
    public static void main(String args[]){
        DDArray ob=new DDArray();
        ob.array({{1,2,3,4,5},{11,22,33,44,55}});
    }
}

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

Изменение прямого вызова от ob.array ({{1,2,3,4,5}, {11,22,33,44,55}});to ob.array ( new int [] [] {{1, 2, 3, 4, 5}, {11, 22, 33, 44, 55}});

0 голосов
/ 12 октября 2019

Чтобы ответить на ваш вопрос, вы не можете напрямую передавать такие значения. Компилятор будет пожаловаться на то же самое. Ошибка компилятора здесь довольно проста - Инициализатор массива здесь не разрешен.

...