你好,我正在为Java开发一个数学库,我写了Matrix(),setMatrix(),getMatrix()方法,getmatrix()方法更精确地返回了整个二维数组的所有值。
static int[][] getMatrix(){//return matrix
return matrix;
}//why returns a reference instead of an array value ? [[I@15db9742 only this
class Mathematik {
private static int[][] matrix;
private static int line_0;
private static int column_0;
static int Matrix(int line, int column){//Matrix
for(int l=0; l<line; l++){//line
for(int j=0; j<column; j++){//column
line_0=l;
column_0=j;
matrix=new int[l][j];
}
}
return matrix;
}
static int setMatrix(int num){//fill matrix
for(int l=0; l<line_0; l++){//line
for(int j=0; j<column_0; j++){//column
matrix[l][j]=num;
}
}
return 0;
}
static int[][] getMatrix(){//return matrix
return matrix;
}//why returns a reference instead of an array value ? [[I@15db9742 only this
}
class Activity{
Mathematik A=new Mathematik();//call the class
public static void main(Strin[] args){
A.Matrix(3,3)//create matrix
A.setMatrix(10)//to fill in the matrix
System.out.println(""+A.getMatrix());//Writes the grid values to a string
}
}
数组 [1a,2a,3a ..... a]
需要getMatrix()方法来返回数组的所有值
答案 0 :(得分:1)
它确实返回矩阵。您不能像尝试那样打印矩阵。您需要打印每个值。或者,您可以简单地遍历各行,然后将每一行传递给Arrays.toString()
以显示它们。您可能还想为自己的库编写显示例程。
答案 1 :(得分:0)
因为您需要数组并且返回的内容是正确的。您必须将该数组转换为String。尝试使用Arrays.toString(matrix);
要返回的当前值是内存中矩阵值的表示形式。