2013-07-05 77 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

相關問題