-6
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。我访问数组错误吗?

4

3 回答 3

5

恐怕你会感到困惑。

如果arrayA被声明为有类型double[][],那么它是不可能arrayA[2][2]null

的类型arrayA[2][2]double,并且null不是该类型的成员。 从来没有。该null仅对引用类型有效,并且double是原始类型,而不是引用类型。

程序与您描述的不一样,或者其他原因导致将不同的值放入文本框中。


(现在如果arrayA被宣布为 a Double[][],那就另当别论了。)

于 2013-07-23T09:08:25.680 回答
3

除非您已初始化所有变量,否则代码将正常工作。tryit 可能会返回 null,因为它没有用值初始化。

于 2013-07-23T09:09:55.923 回答
1

访问数组的语法没有问题。arrayA[2][2] 将返回变量 a33 的值。您将得到 null,因为变量 a33 的值可能为 null。

于 2013-07-23T09:07:10.083 回答