作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在设计一个java应用程序,它将在一副洗好的牌上执行许多不同的操作。在应用程序中我有:
我的程序中的卡片可以描述为具有面(A,2,3,4..J,K,Q)
和花色(红心,钻石,梅花,黑桃)
和对应于面的值,即
A = 1, 2 = 2, 3 = 3
等等。
public Card(String cardFace, String cardSuit, int cardValue){
face = cardFace;
suit = cardSuit;
value = cardValue;
}//ends Card
目前,我的卡牌存储在我的套牌类的 ArrayList 中。
public class Deck implements Stack{
private List<Card> cards;
private int size;//number of cards in deck
public Deck(String[] faces, String[] suits, int[] values){
cards = new ArrayList<Card>();
for(String suit: suits)
for(int value = 0; value < values.length && value < faces.length; value++){
Card a = new Card(faces[value], suit, values[value]);
cards.add(a);
}
size = cards.size();
//////////////////////////////////////shuffle();
shuffle();
}//ends deck
我希望将我的牌组从数组列表更改为堆栈,以便我可以执行弹出、推送和查看等操作。也欢迎有关如何在列表转换为堆栈后实现这些操作的任何帮助。
最佳答案
您只需将堆栈函数添加到 Deck 类中并将 ArrayList 用作堆栈即可。像这样的事情:
public void push(Card c) {
cards.add(c);
}
public Card pop() {
Card c = cards.get(cards.size() - 1);
cards.remove(cards.size() - 1);
return c;
}
public Card peek() {
return cards.get(cards.size() - 1);
}
您需要对 pop
和 peek
添加检查,以确保您的套牌中确实有卡片,但这几乎涵盖了它。
关于java - 用一副纸牌填充堆栈 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59414827/
我已经创建了我的牌组,可以处理每张牌和一套花色,直到没有牌为止。对于我的项目,我需要将它分成 3 个类,其中包括一个驱动程序类。我首先创建了一个包含所有内容的类,所以我知道如何让它全部工作。 publ
嘿伙计们,我正在学习我的第一个 Java 类(class),但在尝试编译该程序时遇到了错误代码。我附加了这两门类(class),希望他能帮助我找到错误。这是我收到的错误: Error: constru
这个问题在这里已经有了答案: How to randomly shuffle a deck of cards among players? (3 个答案) 关闭 4 年前。 我一直在尝试学习 Pyt
我是一名优秀的程序员,十分优秀!