Java 当参数的数量本质上是动态的时,如何执行加法
我有以下代码。将多个参数传递给公共void add(int a,int…b)方法。我想在其中执行加法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+
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);
}