Java 带阵列的点积
在课堂上,我们必须使用点积编写一个小代码来计算两个数组(数组a和数组b)的和。我已经写了我的代码,但是当我运行它时,它并没有给我答案。我的教授说我的循环是错误的,但我不认为是。表示Java 带阵列的点积,java,for-loop,dot-product,Java,For Loop,Dot Product,在课堂上,我们必须使用点积编写一个小代码来计算两个数组(数组a和数组b)的和。我已经写了我的代码,但是当我运行它时,它并没有给我答案。我的教授说我的循环是错误的,但我不认为是。表示in的部分不是循环控制变量,而是a.length,它是一个越界索引。你可能是说 sum += a[i] * b[i]; 而且,尽管这并不直接重要,但您可能是指您的循环 for (int i = 0; i < n; i++) for(int i=0;i
in
的部分不是循环控制变量,而是a.length
,它是一个越界索引。你可能是说
sum += a[i] * b[i];
而且,尽管这并不直接重要,但您可能是指您的循环
for (int i = 0; i < n; i++)
for(int i=0;i
(我想这就是你首先拥有n
的原因。)公共类数组示例
{
公共静态void main(字符串[]args)
{
int[]a={1,2,2,1};
int[]b={1,2,2,1};
int n=a.长度;
整数和=0;
对于(int i=0;i
i
在循环参数中确实有效。不确定你的指导老师在说什么。它输出了什么?它与您的预期输出有什么不同?什么是n
?这甚至可以编译吗?@JustinL。它没有向我显示任何东西,但是我从下面的答案中意识到我应该是多个a[I]*b[I](不是a[n]*b[n])谢谢:)@borisspider程序确实编译过,n应该代表数组a的长度,但是我把它取出来了。我们不是都去过吗?@arshajii谢谢你的帮助。我将行更改为sum+=a[I]*b[I],它可以工作。:)@索菲亚利很高兴我能帮上忙。别忘了。
for (int i = 0; i < n; i++)
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 < n; i++)
{
sum += a[i] * b[i];
}
System.out.println(sum);
}
}