2013-02-09 97 views
6

我是Java新手,我努力使枚舉工作。我在BlueJ工作,我有兩個班(試圖建立一個紙牌遊戲)。我的第一堂課叫Card,在這堂課裏我有一個叫做Suit的枚舉。我的另一個班是甲板,我試圖從這個班級調用枚舉。我的問題是在我已經宣佈西裝套裝的甲板for循環中。它不承認班西裝。從另一個類訪問枚舉

我的代碼在下面,如果有人可以告訴我做錯了什麼......它將不勝感激。謝謝!

public class Deck 
{ 

private Bag<Card> cardBag = new Bag<Card>(); 

public Deck() 
{ 
    for(Suit suit : Suit.values()) 
    { 
     Card card= new Card (suit, 5); 
    } 
} 

//

public class Card 
{ 
public enum Suit 
{ 
    H, S, C, D 
} 

private Suit suit; 
private int valueOfCard; 

public static final int ACE = 1; 
public static final int JACK = 11; 
public static final int QUEEN = 12; 
public static final int KING = 13; 

public Card(int valueOfCard, Suit suit) 
{ 
    this.valueOfCard= valueOfCard; 
    this.suit=suit; 
} 
} 
+0

'enum'和'enumeration'不是一回事。 – 2013-02-09 22:33:02

+0

爲了將來的參考,請在您的問題中包含確切的編譯器錯誤。 – 2013-02-09 22:34:54

+0

@RohitJain哦......對不起,我不知道。如果我可以問,有什麼區別? – 2013-02-09 22:36:26

回答

24

這裏有至少兩個可能的解決方案:

  1. 放置Suit枚舉在它自己的文件。

  2. 訪問Suit與其他類中的完全限定名。這是使用Card.Suit,而不僅僅是Suit

+0

完美工作。威爾在7分鐘內接受:)謝謝! – 2013-02-09 22:39:23

+1

最有幫助的答案:)謝謝! – 2015-11-04 08:16:06