【发布时间】:2012-10-09 21:46:17
【问题描述】:
我正在编写一个逆矩阵的程序 所以我将结果存储在
double matrix[][] = new double[n][2*n];
当我在 consol 中打印结果时,它会是正确的 但现在我尝试改进程序,我想在中打印数组
JOptionPane.showMessageDialog
所以我写
StringBuilder builder = new StringBuilder(n*n);
for (i = 0; i < n; i++){
for(j = 0; j < n; j++){
builder.append(matrix[i][j]);
builder.append(",");
}
builder.append("\n");
}
JOptionPane.showMessageDialog(null, builder.toString(), "The inverse matrix is:", JOptionPane.INFORMATION_MESSAGE);
现在问题输出应该是双倍的,例如这样
-0.14285714285714285 0.2857142857142857
0.4285714285714286 -0.35714285714285715
但是每次使用任何输入矩阵我都会得到相同的结果
1.0,0.0,
-0.0,1.0,
谢谢..对不起我的英语不好
好的,解决了 我保持矩阵的大小为
double matrix[][] = new double[n][2*n];
并按照 Reimeus 所说的进行一些修改来纠正循环
for (int j = n; j < n*2; j++) {
谢谢大家。。 这是这个很棒的网站上的第一个问题,我很快就得到了答案。非常感谢您
【问题讨论】:
-
为什么矩阵的逆不是方阵?在上面的代码中,它是 n 乘 2n
-
您是否验证过该矩阵确实包含正确的值?
标签: java arrays string double stringbuilder