как инициализировать объект Matrix - PullRequest
1 голос
/ 18 июня 2019

Я создаю класс с именем MATRIX, который имеет один атрибут

int [][] _matrix;

В другом классе я создаю объект типа MATRIX:

Matrix newMatrix=new Matrix();

Я хочу инициализировать объект, как в следующем примере:

int [][] a={{1,2,3}, {2,2,4}}

Я пытаюсь написать

newMatrix._matrix={{1,2,3}, {2,2,4}}

и я получил синтаксическую ошибку.

Что я сделал не так?

Ответы [ 4 ]

4 голосов
/ 18 июня 2019

Учитывая ваш базовый пример,

public class Matrix {

    int[][] _matrix;
}

Вы можете инициализировать матрицу следующим образом

public class Caller {

    public static void main(String[] args) {
        Matrix m = new Matrix();
        m._matrix = new int[][]{{1,2,3}, {2,2,4}};
    }
}
0 голосов
/ 18 июня 2019

Таким образом, вы можете инициализировать вашу матрицу

class Matrix {
    int[][] _matrix;

    public int [][] get_matrix(){
        return this._matrix;
    }

    public void set_matrix(int [][] a){
        this._matrix = a;
    }
}


public class Test {
    public static void main(String [] args){
        Matrix matrix = new Matrix();
        matrix.set_matrix(new int[][]{{1,2,3}, {2,2,4}});
        System.out.print(matrix.get_matrix());
    }
}

ИЛИ вы можете создать статические свойства в классе и затем инициализировать с именем класса

0 голосов
/ 18 июня 2019

newMatrix._matrix = {{1,2,3}, {2,2,4}} не разрешено в соответствии с документами .Я добавил альтернативный способ достижения тех же результатов.

package com.psl;

public class Test {

public static void main(String[] args) {

    Matrix matrix = new Matrix();

    matrix._matrix = new int[][]{{1,2,3}, {2,2,4}};


}

}
0 голосов
/ 18 июня 2019
newMatrix._matrix = new int[][] {{1,2,3}, {2,2,4}};

Причина, по которой ваш код не компилируется, в том, что вы пропустили оператор new int[][].Требуется в строке, где вы хотите использовать инициализатор массива ярлыков.Смотрите этот вопрос: Как инициализировать массив в Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...