java如何创建卡片组构造函数
到目前为止,这就是我所拥有的
import java.util.Random;
public class DeckOfCards
{
public static final int DECK_SIZE = 52;
//Instance Variables
private boolean[] deck; //An implicit set of 52 Playing-Cards
private int cardsInDeck;//Number of cards currently in the deck
private Random dealer; //Used to rendomly select a card to be dealt
//Constructor
public DeckOfCards()
{
deck = new boolean[52];
for (int j = 0; j<deck.length ; j ++)
deck [j] = false;
我的方向对吗?。。。这之后我该怎么办?我不太熟悉布尔数组
# 1 楼答案
考虑到赋值,应该在
deck
数组中存储true
,而不是false
。此外,我会让它成为一个二维布尔数组——一个是套件的维度,一个是排名的维度# 2 楼答案
根据你的评论,你必须使用一个布尔数组,其中
true
表示卡片在那里第一点:
那么,当你建造甲板时,它是满的还是空的
我假设它是满的,那么每个单元格的值应该是多少
第二点:
在您使用的构造函数中:
这是完全正确的,但你也有
声明,因此我假设您应该在适用的情况下使用
DECK_SIZE
第三点:
您有两个字段:
在你的构造函数中没有初始化(至少在你发布的部分中没有初始化)
最后一点:
构造函数方法除了设置本地字段外,不应该做任何事情。因此,如果您修复了
deck
初始化,并初始化了其他字段,那么您应该对构造函数有好处。本例中的大部分工作将在绘制卡片的函数中完成编辑:
要抽一张牌,你必须
drawACard()
,它可以打印出或返回所绘制的卡片true
/false
在这里应该有帮助)"Ace of Clubs"
,你可以用它做任何你需要做的事情因此,实现的主要部分将是如何将}
index=5
中的内容更改为String
{# 3 楼答案
我自己,我会使用一个卡片对象数组作为我的卡片组变量,而不是布尔数组。基本布尔变量只能处于两种状态中的一种,true或false,而一张卡必须同时具有一套(4个状态中的1个)和一个等级(13个状态中的1个)