java - 为什么我的代码不起作用 - 终端上说什么?
问题描述
您好,我正在尝试运行此代码>>
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]
解决方案
这里有一个问题:p1[j]
for (int k = 0; k < p1.length; k++) { for (int j = 0; j < p2.length; j++) { Array[j + k] += (p1[j] * p2[j]); } }
您正在使用为 p2 创建的索引 [j] 在 p1 上循环。这可能会导致错误。我想你想做的是 p1[k] * p2[j]
另一个问题可能是数组维度不是 j+k 而实际上只是 j 和 k 之间的最大维度
推荐阅读
- python - 在二维中可视化集群时,轴上的数字是什么意思?
- java - 系统找不到指定的文件 - Netbeans Maven 项目
- amazon-s3 - 使用没有 Route 53 的 AWS S3 + Cloud Front 托管静态网站
- javascript - 在不等待的情况下访问 setTimeout 承诺的值
- python - 如何使用 sys.stdin.readline()?
- ios - Siri 快捷方式 iOS 13 错误 INUIAddVoiceShortcutButton
- python - 如何在 SQLAlchemy 核心中为缺失值插入 NULL?
- amazon-s3 - Redshift 外部表显示 NULL 的实际时间戳值
- selenium - RecaptchaV3 为 Selenium 返回 0.9 分
- visual-studio-code - 为什么我的 VSCode 调试器在 Method.class 文件中停止?