在方法之间传递数组值

时间:2019-04-19 13:45:44

标签: java

你好,我正在为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()方法来返回数组的所有值

2 个答案:

答案 0 :(得分:1)

它确实返回矩阵。您不能像尝试那样打印矩阵。您需要打印每个值。或者,您可以简单地遍历各行,然后将每一行传递给Arrays.toString()以显示它们。您可能还想为自己的库编写显示例程。

答案 1 :(得分:0)

因为您需要数组并且返回的内容是正确的。您必须将该数组转换为String。尝试使用Arrays.toString(matrix);

要返回的当前值是内存中矩阵值的表示形式。

请将this link称为JB Nizet mentions