使用两个阵列创建卡片组

时间:2015-11-15 00:20:32

标签: java arrays string class for-loop

我正在进行一项Java实验,以制作一副纸牌。到目前为止,我设法使卡片课程正常工作。这设置了具有rank和suit的getter和setter方法的卡以及toString方法。甲板课程中的一个说明是创建一个套牌,使用卡片对象为等级和套装的每个组合。我对如何做到这一点没有信心,并且想知道是否有人能指出我正确的方向?到目前为止,这是我的代码:

public class Deck
{
    public static final int number = 52;

2 个答案:

答案 0 :(得分:1)

您没有在范围中声明您的逻辑,而是在类定义中声明它。您需要将逻辑放在Methodclass Main Method中。我认为目前你咬的更多,你可以咀嚼,遵循简单的教程,并了解基本的Java概念,如method声明,field声明,主要方法等。在你开始之前致力于花哨的逻辑。快乐的编码。

public class Deck
{
    public static final int number = 52;

    String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
    String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};

    public Card[] deck = new Card[number];

    public void CreateDeck()
    {
        int i = 0;
        for(String suit : suits) {
            for(String rank : ranks) {
               deck[i++] = new Card(suit, rank);
            }
        }
    }
}

答案 1 :(得分:0)

您的类没有构造函数(或者您可以调用的某个方法)。循环代码应该在构造函数中。

public class Deck
{
    public static final int number = 52;

    String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
    String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};

    //Card[] deck = NUM_CARDS;
    //int i = 0; 

    public Deck()
    {
        for(String suit : suits) {
             for(String rank : ranks) {
                deck[i++] = new Card(suit, rank);
             }
        }
    }

您需要正确定义数组。

Card[] deck = new Card[number];