在java中如何将一副52张卡片分成4手13张?

5lwkijsr  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(291)

对于这个项目,我们不能使用任何集合类。我试着使用一个循环来创建4个数组,每个数组包含13张卡,这样以后就可以对它们进行排序并呈现给用户。我不知道如何用卡片组中的卡片填充4个数组
我的交易方法:

public void deal() {
        for (int i = 0; i < 4; i++) {
            Card[] hand = new Card[13];
            for (int j = 0; j < 13; j++) {
                hand[j] = deckOfCards[j];
                j++;
            }
        }
    }
8nuwlpux

8nuwlpux1#

看来你犯了个逻辑错误。让我们干一次。外循环运行4次。

for (int i = 0; i < 4; i++)

每一次,都会创建一个新的牌型数组。

Card[] hand = new Card[13];

接下来我们转到j循环,从0到3,i的每个值运行13次,

for (int j = 0; j < 13; j++)

现在里面的元素都存储在数组中了。

//Logical error
     hand[j] = deckOfCards[j];

现在每次在手部数组中,只使用deckofcards的前13个元素。您不能访问13-51数组deckofcards中的元素。为此,请尝试将代码的这一部分更改为。

hand[j] = deckOfCards[j + i*13];

这样就可以访问deckofcard的所有元素。
我希望我帮了你。

相关问题