11

私は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;
}
}
4

1 に答える 1

35

ここには、少なくとも 2 つの可能な解決策があります。

  1. Suit列挙を独自のファイルに配置します。

  2. Suit他のクラスでは完全修飾名でアクセスします。それはただの使用Card.Suitではなく使用Suitです。

于 2013-02-09T22:34:04.533 に答える