2013-07-05 72 views
1

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

IM使用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(); 
     } 
    } 
+2

诗篇。标准的java命名约定是使用camel case,https://en.wikipedia.org/wiki/CamelCase用于类名。所以nammi和siggi应该是:public class Nammi – flurdy

回答

1

你的方法接受一个String []数据类型,但你传递什么。你必须传递一个String []。

nammi.epli(); 

应该成为

nammi.epli(new String[5]); 

或一些其它字符串数组。你也可以将它传递一个空,如果你想要的,但是这不是你应该在这种情况下

2

您定义epli为做什么:

public void epli(String args[]) 

所以,你需要提供一个String数组当你打电话时。

如果更改epli的签名

public void epli() 

你可以调用它的方式,你正在做它

1

更改epli()方法的签名使用varargs语法:

public void epli(String... args){ 

epli()方法中,args实际上仍然有一个类型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 
+0

谢谢你解决了它:) – Quar

相关问题