我有一个2D阵列3X5,我需要将第一列中的每个元素相乘,依此类推。这是我没有运气的尝试。结果不正确。我尝试将每列存储到一个数组中并将该数组中的每个元素相乘,但我得到相同的结果。
编辑:是的我知道此代码中没有乘法,因为它会产生不正确的产品。
for(int j = 0; j < 5; j++){
double v = 0.0;
double[] ex = new double[3];
double volumeBox1 = 0.0;
for(int i = 0; i < 3; i++){
v = d[i][j];
System.out.println(v);
for(int z = 0; z < 3; z++){
ex[z] = v;
}
}
System.out.println("The volume of box " + (j+1) + " is: " + volumeBox1);
答案 0 :(得分:2)
我假设你的矩阵是5 x 3,这个用例比3 x 5更合乎逻辑和方便:
for (int i = 0 ; i < d.length ; j++) {
double vol = 1;
for (int j = 0 ; j < d[i].length ; j++) {
vol *= d[i][j];
}
System.out.println("The volume of box " + (j + 1) + " is: " + vol);
}
这当然可以使用3 x 5矩阵来完成,但我认为迭代列不太合理:
for (int j = 0 ; j < d[0].length ; j++) {
double vol = 1;
for (int i = 0 ; i < d.length ; i++) {
vol *= d[i][j];
}
System.out.println("The volume of box " + (j + 1) + " is: " + vol);
}