你好,我正在尝试运行此代码>>
public class test {
public static void main(String[] args) {
double[] p1={2,3,4};
double[] p2={2,3};
int maxlentharr;
if (p1.length > p2.length) {
maxlentharr = p1.length;
} else {
maxlentharr = p2.length;
}
double[] Array = new double[maxlentharr];
for (int i = 0; i < Array.length; i++) {
Array[i] = 0;
}
for (int k = 0; k < p1.length; k++) {
for (int j = 0; j < p2.length; j++) {
Array[j + k] += (p1[j] * p2[j]);
}
}
for (double element: Array) {
System.out.println("------------------");
System.out.println(element);
}
} }
但它似乎不工作,我没有看到任何错误的代码,但这里我得到的终端>>
[![此处][2]][2]
2条答案
按热度按时间k2fxgqgv1#
这里有一个问题:p1[j]
您正在使用为p2创建的索引[j]在p1上循环。这可能会导致错误。我想你想做的是p1[k]*p2[j]
另一个问题可能是数组维数不是j+k,实际上只是j和k之间的最大值
waxmsbnn2#
数组[j+k]+=(p1[j]*p2[j])
应该是
数组[j+k]+=(p1[k]*p2[j])