【发布时间】:2013-09-12 23:10:58
【问题描述】:
在课堂上,我们必须使用点积编写一个小代码来求两个数组(数组 a 和数组 b)的和。我已经编写了我的代码,但是当我运行它时它并没有给我答案。我的教授说我的循环是错误的,但我认为不是。是否在 for 循环参数中不允许使用 i<a.length 的部分?因为即使我将它设置为 n,它仍然没有给我总和。
这是我的代码:
public class arrayExample {
public static void main (String [] args) {
int[] a = {1,2,2,1};
int[] b = {1,2,2,1};
int n = a.length;
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum += a[n] * b[n];
}
System.out.println(sum);
}
}
【问题讨论】:
-
i < a.length在循环参数中确实有效。不知道你的导师在说什么。 -
它输出什么?它与您的预期输出有何不同?
-
n是什么?这甚至可以编译吗? -
@JustinL。它没有向我展示任何东西,但是我从下面的答案中意识到我应该是多个 a[i]*b[i] (不是 a[n]*b[n])谢谢 :)
-
@BoristheSpider 程序编译好了,n本来应该代表数组a的长度,但是我把它拿出来了。
标签: java for-loop dot-product