1

我是java新手,我只是想从另一个类中使用这个方法'epli'但是当我尝试这样做时它说
The method epli(String[]) in the type nammi is not applicable for the arguments ()

我在这里使用eclipse是所有代码:

import java.util.Scanner;
    public class nammi{
        public void epli(String args[]){
        System.out.println("Mér finnst nammi gott");
        }
    }

    public class siggi {
        public static void main(String args[]){
        System.out.println("Eg heiti ekki siggi");
            nammi nammi = new nammi();
            nammi.epli();
        }
    }
4

3 回答 3

2

您将epli定义为:

public void epli(String args[])

所以调用的时候需要提供一个String数组。

如果您将 epli 的签名更改为

public void epli()

你可以按照你的方式来称呼它

于 2013-07-05T23:28:42.083 回答
1

您的方法接受 String[] 数据类型,但您什么也没传递。你必须给它传递一个字符串[]。

nammi.epli();

应该成为

nammi.epli(new String[5]);

或其他一些字符串数组。如果你愿意,你也可以给它传递一个空值,但在这种情况下你不应该这样做

nammi.epli(null);
于 2013-07-05T23:28:30.680 回答
1

更改epli()方法的签名以使用可变参数语法:

public void epli(String... args){

epli()方法中,argswill 实际上还有一个String[].

现在你的调用代码可以工作了,你可以像这样传递参数:

nammi.epli(); // OK - args is an empty array (not a null)
nammi.epli("foo"); // args is array size 1
nammi.epli("foo", "bar"); // args is array size 2 etc
于 2013-07-05T23:32:06.467 回答