public void doMatrix(){
double[][] arrayA = {{a11,a12,a13,a14},{a21,a22,a23,a24},{a31,a32,a33,a34},{a41,a42,a43,a44}};
double[][] arrayB = {{b1},{b2},{b3},{b4}};
RealMatrix matrixA = MatrixUtils.createRealMatrix(arrayA);
RealMatrix matrixB = MatrixUtils.createRealMatrix(arrayB);
RealMatrix matrixInvA = new LUDecomposition(matrixA).getSolver().getInverse();
RealMatrix matrixAmp = matrixInvA.multiply(matrixB);
tryit = arrayA[2][2];
}
tryit
的值放在我的android主要活动的文本框中时继续返回null。我是否错误地访问了数组?
答案 0 :(得分:5)
我害怕你很困惑。
如果arrayA
被声明为double[][]
类型,则arrayA[2][2]
无法成为null
。
arrayA[2][2]
的类型为double
,而null
不是该类型的成员。 永远。 null
值仅 对引用类型有效,double
是基本类型,而不是引用类型。
程序不是您描述的程序,或者其他导致将不同的值放入文本框中。
(现在,如果arrayA
被宣布为Double[][]
,那将是另一回事。)
答案 1 :(得分:3)
除非您已初始化所有变量,否则代码将正常工作。 tryit可能返回null,因为它没有用值初始化。
答案 2 :(得分:1)
访问阵列的语法没有问题。 arrayA [2] [2]将返回变量a33的值。您将获得null,因为变量a33的值可能为null。