Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二维数组的初始化和使用_Java_Arrays_Matrix_Initialization_Declaration - Fatal编程技术网

Java 二维数组的初始化和使用

Java 二维数组的初始化和使用,java,arrays,matrix,initialization,declaration,Java,Arrays,Matrix,Initialization,Declaration,我正在编写一个java程序,该程序使用大量矩阵计算,在某些计算过程中,我在进一步计算之前使用多个临时“存储”矩阵 我已经在类变量中声明了临时矩阵 private double[][]中间矩阵; 私人双[][]中间矩阵b; 私人双[][]中间矩阵; 私人双[][]中间矩阵xd 但是,我从未以mediateMatrix=new double[][]的形式初始化构造函数或方法中的矩阵。 相反,我对每个临时矩阵intermediateMatrix=[矩阵计算的乘积] 我的问题是:我使用的方法是安全的吗?

我正在编写一个java程序,该程序使用大量矩阵计算,在某些计算过程中,我在进一步计算之前使用多个临时“存储”矩阵

我已经在类变量中声明了临时矩阵

private double[][]中间矩阵;
私人双[][]中间矩阵b;
私人双[][]中间矩阵;
私人双[][]中间矩阵xd

但是,我从未以
mediateMatrix=new double[][]
的形式初始化构造函数或方法中的矩阵。 相反,我对每个临时矩阵
intermediateMatrix=[矩阵计算的乘积]

我的问题是:我使用的方法是安全的吗?记住,临时数组将在其他计算中重用吗?每次我声明一个临时矩阵应等于另一个数组时,它将等于该矩阵的确切维数和值

提前谢谢 当做
Mike

是的,上面的变量将指向方法或计算的结果,行和列将被保留,这是“安全的”

private double[][] intermediateMatrixA = new double[3][4];
//etc etc
intermediateMatrixA =new double[5][6];
非常好,只要它始终是一个
double[][]
;但是,跟踪行和列的逻辑取决于您

您可以将
double[][]
的类型分配给其他类型的
double[][]
,但不能将
double[]
分配给
double[][


如果您打算一次又一次地使用它们,我建议在分配它们之前将它们设置为null,以防万一。

我不清楚这是如何工作的-如果您能发布更多代码,我会更确定。但这就是我要告诉你的:你不能白手起家。如果你要乘以矩阵,你需要在某处创建一个新的double[][]来存储新的值。我强烈建议你去谷歌搜索JAMA矩阵包——矩阵数学已经足够难了,因为它不需要编写你自己的库。