【发布时间】:2018-01-17 11:25:39
【问题描述】:
我不明白如何将 Card 类放入 Deck。你能解释一下我该如何解决这个问题吗?
以下是说明:
您需要重写构造函数,以便将普通卡片组的所有 52 张卡片分配给卡片数组。请记住,卡片信息需要存储在 Deck 类中,而不是通过参数传递。此外,您需要重新定义 Deck 类的 toString 方法,以便使用它以方便的方式显示属性值。确保利用 Card 类中已经存在的 toString 方法。
(你还需要添加一个shuffle方法,从构造函数中调用。shuffle方法是Deck类中的私有帮助方法。对于这个版本,你需要通过交换卡片来洗牌。生成两个随机[0..51] 数字范围内的数字,将表示卡片数组的索引并交换卡片。进行 1000 次交换然后显示卡片。使用 Math.random 生成随机数。) 以防万一 em>)
public class Lab11bvst
{
public static void main(String[] args)
{
Deck deck = new Deck();
System.out.println(deck);
}
}
class Deck
{
private Card[] cards;
private int size;
private String[ ] suits = {"Clubs","Diamonds","Hearts","Spades"};
public Deck()
{
size = 52;
cards = new Card[size];
}
private shuffle(){
}
}
卡片类:
public class Card
{
private String suit;
private String rank;
private int value;
public Card(String s, String r, int v)
{
suit = s;
rank = r;
value = v;
}
public String getSuit() { return suit; }
public String getRank() { return rank; }
public int getValue() { return value; }
public void setSuit(String s) { suit = s; }
public void setRank(String r) { rank = r; }
public void setValue(int v) { value = v; }
public String toString()
{
return "[" + suit + ", " + rank + ", " + value + "]";
}
public boolean matches(Card otherCard)
{
return otherCard.getSuit().equals(this.suit)
&& otherCard.getRank().equals(this.rank)
&& otherCard.getValue() == this.value;
}
}
【问题讨论】:
-
“这很紧急——我需要在明天之前把它上交……”——这真的不是我们的错。
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
-
请注意,JavaScript 和 Java 是天壤之别,除非一个人实际同时使用两者,否则不应同时使用两者来标记问题。我将删除 JS 标记。
-
我特意对代码进行了引用格式,因为它是家庭作业的一部分——课程由讲师提供。
-
对不起.. 我没有意识到说这很紧急我会打扰你。我道歉。 @halfer 谢谢你告诉我