繁体   English   中英

不同数组的总和

[英]Sum of different arrays

谁能帮助我找出如何从2个不同长度的数组中求和。 我正在尝试很长时间,但无法弄清楚。 我知道我需要另一个循环。 直到现在这是我的食物

import java.util.Arrays;
import java.lang.*;
public class Question1d{
public static void main (String [] args){
    double[] b = add(); 
    System.out.println(Arrays.toString(b)); 
}

public static double[] add(){
    double[] v = {1, 2, 3, 4, 5, 4};
    double[] w = {5, 4, 3, 3, 1};
    int a = v.length;
    int b = w.length;
    int capacity = Math.max(a,b);
    double[] s = new double[capacity];
    if (a==b){
        for (int i = 0; i<capacity; i++){
            s[i] = v[i] + w[i];
        }
    }

    return s;
} 
}

也许还有另一种方法。 n

eddit:该方法应返回一个新的double数组,该数组通过添加输入数组的相应元素形成。 如果一个数组较长,则总和应获取该数组的元素,而另一个数组应考虑周到,因为它具有0个值。

像这样的东西?

public static double[] add(){
    double[] v = {1, 2, 3, 4, 5, 4};
    double[] w = {5, 4, 3, 3, 1};
    int a = v.length;
    int b = w.length;
    int capacity = Math.max(a,b);
    double[] s = new double[capacity];
    for (int i = 0; i<capacity; i++){
        s[i] = (i >= v.length ? 0 : v[i]) +  (i >= w.length ? 0 : w[i]);
    }


    return s;
} 

如果要计数两个数组的和,只需对第一个数组的和进行计数,然后对第二个数组的和进行计数,最后对这两个数字的和进行计数。

    int sum1 = 0;
    for (int i : v)
        sum1 += i;

    int sum2 = 0:
    for (int i : w)
        sum2 += i;

    int result = sum1 + sum2;

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM