我创建了一个名为MATRIX的类,它具有一个属性
int [][] _matrix;
在另一个类中,我创建一个MATRIX类型的obj:
Matrix newMatrix=new Matrix();
我想像下面的例子一样初始化obj:
int [][] a={{1,2,3}, {2,2,4}}
我尝试写
newMatrix._matrix={{1,2,3}, {2,2,4}}
我遇到语法错误。
我做错了什么?
答案 0 :(得分:4)
考虑您的基本示例,
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}};
}
}
答案 1 :(得分:0)
newMatrix._matrix = new int[][] {{1,2,3}, {2,2,4}};
无法编译代码的原因是因为您缺少new int[][]
语句。要在其中使用快捷方式数组初始化程序的一行中,它是必需的。看到以下问题:How to initialize an array in Java?
答案 2 :(得分:0)
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}};
}
}
答案 3 :(得分:0)
这样您可以初始化矩阵
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());
}
}
或者您可以在类中创建静态属性,然后使用类名进行初始化