我写了以下函数:
public void enterlessonnames(String[] names)
{
String msg="";
for (int i=0;i<names.length;i++)
{
msg=msg+names[i];
}
System.out.println(msg);
}
我想这样打电话,给出输入:
enterlessonnames({"math","art"} );
我如何在主打电话?
enterlessonnames(names[{"math","art"} ]);
它们不是任何一个。
Multiple markers at this line:
- Syntax error, insert ")" to complete MethodInvocation
- Syntax error on token ",", delete this token
- Syntax error, insert ";" to complete Statement
- Syntax error on tokens, delete these tokens
答案 0 :(得分:3)
enterlessonnames( new String[] { "a", "b" } );
仅供参考,java命名约定意味着方法名称的名称中每个单词的首字母都以大写字母开头,但第一个单词以非首字母开头。在您的情况下:enterLessonNames
。
答案 1 :(得分:3)
您需要创建一个正确的String数组实例,如下所示:
String[] array = new String[]{"math", "art"};
您的固定电话将是:
enterlessonnames( new String[]{"math", "art"} );
或
String[] lessons = new String[]{"math", "art"};
enterlessonnames(lessons);
答案 2 :(得分:2)
除了其他答案,你可以这样声明你的方法:
public void enterlessonnames(String... names) {
//do stuff
}
然后可以像这样调用:
enterlessonnames( new String[] { "a", "b" } );
或者像这样:
enterlessonnames("just one string!");
或者像这样:
enterlessonnames("one string", "another string"); //as many strings as you like
答案 3 :(得分:1)
将其命名为:
public class ArrayCaller{
public static void main(final String[] args) {
new ArrayCaller().enterlessonnames(new String[]{"lesson1", "lesson2", "lesson3"});
}
public void enterlessonnames(String[] names) {
String msg="";
for (int i=0;i<names.length;i++) {
msg=msg+names[i];
}
System.out.println(msg);
}
}
干杯!!
答案 4 :(得分:1)
你正在寻找的可能是这样的:
enterlessonnames(new String[] {"CursedChico","Science","Maths"});
请记住,新创建的数组将被处理,并且无法在其他方法中重复使用。
如果您没有强制执行,我建议您使用泛型,如;
List<String> names= new ArrayList<String>();
names.add("Math");
names.add("Science");
等。
您可以将方法修改为;
public void enterLessonNames(List<String> names)
{
Here goes your code;
}
之后调用;
enterLessonNames(names);
希望它有所帮助。