0

所以我的任务是基本上用java在电脑上创建游戏“Hearts”。

我首先创建了一个对象“卡片”:

*

公共类卡{

    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(); } }

但是,每当我尝试在另一个类中使用类型 Suit 或 Value 时,我都会收到错误“无法解析为变量”。所有 .java 文件都在同一个文件夹中,并且我的 Card 类上没有任何错误消息......那我做错了什么?为什么 java 不能识别 Value 和 Suit 类型?

PS:另外一节课是老师给我们的测试课。我不能改变它,因为它是他用来给我们评分的。

提前致谢!

4

3 回答 3

1

您可以通过在前面添加类名来访问所有内部(静态)类以及枚举:

Card.Suit会成功的。

于 2013-04-01T23:55:27.030 回答
0

试试卡片::西装。我不确定语法。

于 2013-04-01T23:53:08.863 回答
0

在 Card 类之外的单独文件中声明您的 Suit 和 Value 枚举:

在 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 回答