2016-01-20 30 views
-2

我對Java真的很陌生,正在試圖建立一副卡片模型來幫助理解。我現在想要做的就是調用一個方法來驗證代碼是否可以達到該方法。方法調用中未定義的類型?

我在嘗試實施「測試」方法時收到此錯誤。

The method test(String[]) is undefined for the type DeckOfCards

class Cards { 
     void test(String[] DeckofCards) { 
      System.out.println("this method works"); 
     } 
    } 
    public class DeckOfCards{ 
     public static void main(String args[]) { 

      String[] DeckofCards = new String[]{ "AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", 
           "9H", "10H", "JH", "QH", "KH", "AD", "2D", "3D", 
           "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", 
           "QD", "KD", "AC", "2C", "3C", "4C", "5C", "6C", 
           "7C", "8C", "9C", "10C", "JC", "QC", "KC", "AS", 
           "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", 
           "10S", "JS", "QS", "KS" }; 
      test(DeckofCards); 

     } 
    } 

任何想法?

+1

您在這裏有兩個類。你爲什麼要上兩節課?這是一個文件嗎?你做了一些重命名,並混淆了你想寫什麼課程? – user2357112

+0

對於每種情況,此錯誤具有完全相同的原因,該方法不存在於您嘗試調用它的類型上。該方法在'Cards'上,並且爲了上帝,遵循標準的Java命名約定! 'DeckofCards'對於同名的類中的變量來說是一個非常糟糕的名字。 WTH? –

+0

@JarrodRoberson - 我希望能得到一個更好,更理解的解釋,來自一位43k代表和Java中的金徽章。顯然,OP是一個初學者。 – nickb

回答

0

因爲方法test(String[])Cards類中。您需要實例化Cards類以獲取其對象,然後調用該方法:

public class DeckOfCards{ 
    public static void main(String args[]) { 
     Cards cards = new Cards(); 
     cards.test(DeckofCards); 
    } 
} 
+0

我也這麼認爲,但後來我得到這個錯誤:「DeckofCards無法解析爲變量」 – vkapustin

+0

@vkapustin - 看看[這個例子](http://ideone.com/2sA59K)。在調用'test()'之前確保你的變量已經被定義了,你應該很好。 – nickb

+0

非常好,謝謝!現在就開始工作 – vkapustin

相關問題