0

つまり、私の課題は、基本的に Java を使用してコンピューター上でゲーム「ハーツ」を作成することです。

最初にオブジェクト「カード」を次のように作成しました。

*

パブリック クラス カード {

    public enum Suit {
        CLUBS,
            HEARTS,
            SPADES,
            DIAMONDS
    }
    public enum Value {
        TWO,
            THREE,
            FOUR,
            FIVE,
            SIX,
            SEVEN,
            EIGHT,
            NINE,
            TEN,
            JACK,
            QUEEN,
            KING,
            ACE}


      private Suit suit;  
          private Value value;    

> public Card(Suit suit, Value value){ suit = getSuit(); 値 = getValue(); } }

ただし、別のクラスでスーツ型または値型を使用しようとすると、「変数に解決できません」というエラーが表示されます。すべての .java ファイルは同じフォルダーにあり、Card クラスにエラー メッセージは表示されません。Java が値とスーツの型を認識しないのはなぜですか?

PS: もう 1 つのクラスは、先生が私たちに与えたテスト クラスです。彼が私たちを採点するために使用するものなので、私はそれを変更できません.

前もって感謝します!

4

3 に答える 3

1

クラス名を先頭に追加することで、すべての内部 (静的) クラスと列挙型にアクセスできます。

Card.Suitトリックを行います。

于 2013-04-01T23:55:27.030 に答える
0

カード::スーツを試してください。構文についてはわかりません。

于 2013-04-01T23:53:08.863 に答える
0

カード クラスの外側の別のファイルで、スーツと値の列挙型を宣言します。

Suit.java では:

public enum Suit {
    CLUBS,
    HEARTS,
    SPADES,
    DIAMONDS
}

Value.java で:

public enum Value {
    TWO,
    THREE,
    FOUR,
    ...
}

次に、Card.java では、Card クラスは次のように始まります。

public class Card {

    Suit suit;
    Value value;

    public Card(Suit suit, Value value)
    { 
        this.suit = suit;
        this.value = value;
    } 
}
于 2013-04-02T00:29:25.607 に答える