Java总和2个数组

时间:2016-01-12 15:52:47

标签: java arrays sum

在我的应用程序中,我有2个阵列

Integer[] array1= {1, 2, 3, 8, 6, 4, 10};
Integer[] array2= {200, 100, 50, 20, 10, 5, 1};

现在我想将第一个数组中的每个元素与第二个数组中的每个元素相乘,最后得到sum,例如:

200x1 = 200; 100x2 = 200; 50x3 = 150; 20x8 = 160; 10x6 = 60; 5x4 = 20; 1x10 = 10;

然后总结200+200+150+160+60+20+10 = 800

4 个答案:

答案 0 :(得分:3)

您甚至可以使用流:

Integer[] array1 = {1, 2, 3, 8, 6, 4, 10};
Integer[] array2 = {200, 100, 50, 20, 10, 5, 1};

public void test() {
    System.out.println(
            // Each index of the arrays.
            IntStream.range(0, Math.min(array1.length, array2.length))
            // Multiply the two array entries.
            .mapToLong(n -> array1[n] * array2[n])
            // Add them up.
            .sum());
}

答案 1 :(得分:2)

Integer[] array1= {1, 2, 3, 8, 6, 4, 10};
Integer[] array2= {200, 100, 50, 20, 10, 5, 1};
int resultOfSum = 0;

for (int i = 0; i < array1.length;i++){
    resultOfSum += array1[i]*array2[i];
}

希望这会有所帮助:)

答案 2 :(得分:1)

使用此

int total = 0;
for(int i = 0; i < array1.length; i++){
total += array2[i] * array1[i];
}

答案 3 :(得分:1)

在这里,试试这个:

int s=0;
for(int i=0;i<array1.length;i++)
  s+=array1[i]*array2[i];
System.out.println(s);