在Java中传递一组参数

时间:2014-10-23 14:12:14

标签: java

我昨天开始学习Java,现在我正在尝试创建一个以字符串形式汇总整数列表的程序。当我尝试在Eclipse中编译并运行该程序时,我收到以下错误。 “类型Calculator中的方法doSomething(String [])不适用于参数(String,String)”。对不起,我的代码看起来搞砸了。我没弄明白如何用不同的字体制作所有代码。我得到了尝试将多个参数传递给主类中的函数的“灵感”,因为它似乎在那里工作。我试图改写(String ... arguments),这似乎工作得很好。

public class Sum {

    int doSomething(String[] arguments) {
        int sum = 0;
        for (int i = 0; i < arguments.length; i++) {
            sum += Integer.parseInt(arguments[i]);

        }
        return sum;

    }

    public static void main(String[] args) {
        String var = "1";
        System.out.print(doSomething("531", var));
    }

}

3 个答案:

答案 0 :(得分:3)

您需要使用您的值初始化一个新的String数组:

doSomething(new String[]{"531", var});

通过

doSomething("531", var)

你正在使用2个String参数调用doSomething,而它期待一个参数:String array

答案 1 :(得分:1)

您可能想要使用此表单:

int doSomething(String... arguments) {
    int sum = 0;
    for (int i = 0; i < arguments.length; i++) {
        sum += Integer.parseInt(arguments[i]);
    }
    return sum;
}

然后你可以打电话:

doSomething( "aa" );
doSomething( "aa", "bb" );
doSomething();

答案 2 :(得分:0)

public class Sum {

   static int doSomething(String[] arguments) {
      int sum = 0;
      for (int i = 0; i < arguments.length; i++) {
         sum += Integer.parseInt(arguments[i]);

      }
      return sum;

   }

   public static void main(String[] args) {
      String var = "1";

      String s[] = {"531", var};

      System.out.print(doSomething(s));
   }

}

这样,您将值存储到数组s中,然后传递该数组,问题就解决了!