简体   繁体   English

如何解决此VarArgs构建错误?

[英]How to fix this VarArgs build error?

Here's the main method: 这是主要方法:

package main;

import varArgs.VarArgs;

public class Main {

    public static void main(String[] args) {
        int answer;

        answer = VarArgs.sum(new int[]{1,2,3});
        System.out.println("sum of ints = " + answer);

        answer = VarArgs.sum(new int[]{1,2,3}, new int[] {100, 200, 300});
        System.out.println("sum of ints = " + answer);

    }
}

Here's the var args method: 这是var args方法:

package varArgs;

    public class VarArgs {
        /***
         * Add an array of integers
         * @param numbers Some array of integers
         * @return The sum of all the elements in num
         */
        public static int sum(int... numbers) {
            int result = 0;
            for (int i : numbers) {
                result += i;
            }
            return result;
        }   
    }

Here's the error I get: 这是我得到的错误: 错误

A varargs parameter can only accept a single array. varargs参数只能接受一个数组。 If you want to pass in a variable number of arrays, you need to do this: 如果要传递可变数量的数组,则需要执行以下操作:

public static int sum(int[]... arrays) {
    int sum = 0;
    for (int[] numbers : arrays) {
        for (int i : numbers) {
            sum += i;
        }
    }
    return sum;
}

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

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