此问题已在此处找到答案:
浮点数学坏了吗((30个答案)
如何在java中打印小数点后两位的浮点((17个答案)
四天前关门。
我在做一个练习,要求我开发一个代码,将两个不同维度的矩阵相乘,但结果与书中不同。如果你能帮我改进代码,请。(java)
public class MultiplyMatrixa {
public static void main(String[] args) {
double[][] a = {
{0.70, 0.20, 0.10},
{0.30, 0.60, 0.10},
{0.50, 0.10, 0.40}
};
double[][] b = {
{0.20, 0.30, 0.50},
{0.10, 0.20, 0.10},
{0.10, 0.30, 0.40}
};
double[][] c = new double[a.length][b[0].length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b[0].length; j++) {
// Dot product of row i and column j.
for (int k = 0; k < b.length; k++)
c[i][j] += a[i][k] * b[k][j];
}
}
for (int i = 0; i < a.length; i++) { // Print the ith row.
for (int j = 0; j < b[0].length; j++)
System.out.print(c[i][j] + " ");
System.out.println();
}
}
}
根据这本书,出口应该是这样的:正确的输出
正确输出:
0.17 0.28 0.41
0.13 0.24 0.25
0.15 0.29 0.42
但结果表明:
0.16999999999999998 0.28 0.41000000000000003
0.13 0.24 0.25
0.15000000000000002 0.29 0.42000000000000004
我怎样才能修好它?
暂无答案!
目前还没有任何答案,快来回答吧!