gpt4 book ai didi

java - java中数组和二维数组相乘

转载 作者:行者123 更新时间:2023-11-30 02:44:28 25 4
gpt4 key购买 nike

我试图在java上将一个数组和一个二维数组相乘,我的程序编译但不断返回错误java.lang.NullPointerException;当我尝试向其中输入任何内容时为 null。这是到目前为止我的代码:

static double[][] productWithDiagonal(double[] a, double[][] b)
{
double[][] c = new double[3][];

{
for (int i = 0; i < b.length; ++i) {
for (int j = 0; j < b[1].length; ++j) {
c[i][j] = a[j] * b[i][j];
}
}
}
return c;
}

谢谢

最佳答案

这里:

double[][] c = new double[3][];

仅实例化您的“行”。你需要类似的东西

double[][] c = new double[3][3];

或者可能更有用

... c = new double[b.length][b[0].length];

相反。但可以肯定的是:这些数字很重要;例如,您应该确保b确实是一个“规则矩形”形状的矩阵 - 以便所有行具有相同的列数。当然,a 也应该具有与 b 相同的列数。您可以在方法的开头添加此类检查;确保ab的形状实际上允许这种乘法!

你看,在 Java 中,二维数组只不过是一个包含另一个数组的数组。您的初始代码只会启动该“外部”数组,而将“内部”数组保留为 null

关于java - java中数组和二维数组相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40612896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com