我正在尝试使用两种不同的静态方法来操作两个数组
双点(double[]a, double[]b)
双[][]乘法(双[][]a, 双[][]b)
。
我似乎无法弄清楚如何使用静态方法将两个数组相乘并将这些值输出给用户,但我相信我的点积方法很好。我知道我需要为我的乘法方法使用返回方法,但我不确定如何正确表示它
这是我到目前为止所拥有的:
public class LibMatrix {
public static void main(String[] args) {
double[] a = { 8, 5, 6, 3, 2, 1 };
double[] b = { 9, 8, 4, 1, 4, 7 };
}
public static double dot(double[] a, double[] b) {
double sum = 0.0;
for (int i = 0; i < a.length; i++)
sum += a[i] * b[i];
return sum;
}
public static double[][] multiply(double[][] a, double[][] b) {
int n = 6;
double[][] c = new double[n][n];
for (int i = 0; i < n; i++)
for (int j = 0; i < n; i++)
c[i][j] = a[i][j] * b[i][j];
return a;
}
}
最佳答案
没有足够的代表来发表评论,但第二个方法中的返回值应该是 c
测试:
double [][] a = new double [6][6];
double [][] b = new double [6][6];
for(int i = 0; i< a.length;i++){
for(int j = 0; j< a.length;j++){
a[i][j] = 3;
b[i][j] = 2;
}
}
d = multiply(a,b);
这将返回一个充满 6 的 6x6 矩阵,因此您的方法可以正常工作。
d = [6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6]
关于java - 具有静态方法的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118433/