我昨天开始学习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));
}
}
答案 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
中,然后传递该数组,问题就解决了!