我是Java的新手,我正在努力使枚举工作。我在BlueJ中工作,我有2个类(class)(尝试构建单人纸牌游戏)。我的第一个类叫做Card,在这个类里我有一个叫做Suit的枚举。我的另一个类(class)是Deck,我试图从该类(class)枚举。我的问题是在甲板上的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;
}
}

最佳答案

这里至少有两种可能的解决方案:

  • Suit枚举放置在其自己的文件中。
  • 在其他类中使用其完全限定名称访问Suit。那就是使用Card.Suit,而不仅仅是Suit
  • 关于java - 从另一个类访问枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14792357/

    10-09 19:42