将数组值从方法传递给方法

问题描述 投票:0回答:2

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

java
2个回答
0
投票

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

返回的当前值是矩阵值在内存中的表示。

请参考this link作为JB Nizet mentions


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.