我是Java的新手,我正努力让我的枚举工作。我在BlueJ工作,我有2个课程(试图建立一个纸牌游戏)。我的第一堂课名为Card,在这堂课中,我有一个名为Suit的枚举。我的另一个类是Deck,我试图从这个类中调用枚举。我的问题是在我已经宣布西装套装的甲板的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 :(得分:32)
这里至少有两种可能的解决方案:
将Suit
枚举放在自己的文件中。
在其他课程中使用其完全限定名称访问Suit
。这是使用Card.Suit
,而不仅仅是Suit
。