4

我写了以下函数:

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
4

5 回答 5

3

您需要创建一个适当的 String 数组实例,如下所示:

String[] array = new String[]{"math", "art"};

您的固定电话是:

enterlessonnames( new String[]{"math", "art"} );

或者

String[] lessons = new String[]{"math", "art"};
enterlessonnames(lessons);
于 2013-07-18T08:54:45.620 回答
3

像这样:

enterlessonnames( new String[] { "a", "b" } );

仅供参考,java命名约定意味着方法名称的名称中每个单词的第一个字母都以大写字母开头,但第一个单词以非大写开头。在你的情况下:enterLessonNames

于 2013-07-18T08:53:20.660 回答
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
于 2013-07-18T09:00:42.090 回答
1

可能您正在寻找的是这样的调用:

enterlessonnames(new String[] {"CursedChico","Science","Maths"});

请记住,新创建的数组将被丢弃,并且无法在其他方法中重复使用。

如果您没有强制执行,我可以建议您使用泛型,例如;

List<String> names= new ArrayList<String>();
names.add("Math");
names.add("Science");

ETC..

您可以将方法修改为;

public void enterLessonNames(List<String> names)    
{
   Here goes your code;
}

之后调用;

enterLessonNames(names);

希望能帮助到你。

于 2013-07-18T09:03:53.520 回答
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);
    }
}

干杯!!

于 2013-07-18T08:54:31.503 回答