Java 当参数的数量本质上是动态的时,如何执行加法

Java 当参数的数量本质上是动态的时,如何执行加法,java,Java,我有以下代码。将多个参数传递给公共void add(int a,int…b)方法。我想在其中执行加法 public class emp { public void add(int a,int b){ System.out.println("a+b--->"+(a+b)); } public void add(int a,int b, int c){ System.out.println("a+b+c---->"+(a+b+

我有以下代码。将多个参数传递给公共void add(int a,int…b)方法。我想在其中执行加法

public class emp {


    public void add(int a,int b){
        System.out.println("a+b--->"+(a+b));
    }

    public void add(int a,int b, int c){
        System.out.println("a+b+c---->"+(a+b+c));
    }

    public void add(int a,int ... b ){
        System.out.println("a+b+..."+(a+b));
    } 
    public static void main(String[] args) {
        emp e=new emp();
        e.add(12, 12);
        e.add(12,12,12,12,12);
    }
    }

当我的参数数量是动态的时,如何执行加法?

您可以检查每个元素并添加它。内。。。b是int[]b,因此使用循环并添加元素。 大概是这样的:

for(int i = 0; i < b.length; i++){
    // Do whatever you want here         
}
for(int i=0;i
您可以使用变量参数。。像这样的

public void add(int... b) {
    int result = 0;
    for(int a: b){
        result+=a;
    }
    System.out.println(result);
}

其他答案通过迭代为您提供了一个必要的解决方案。您还可以使用以下方法以功能性方式实现此方法:

如果使用varargs(即
),则在方法中会得到一个数组。您可以遍历数组。
public int add(int a, int... b) {
    return IntStream.of(b).reduce(a, Integer::sum);
}