【发布时间】:2020-04-12 08:27:06
【问题描述】:
我目前正在设计一个 Java 应用程序,它将对一副洗牌的纸牌执行许多不同的操作。在我的应用程序中:
- Stack.java:这是程序的接口,包括pop、push、peek等方法
- Deck.java:我的deck类,实现了栈
- Card.java: Card 对象类
- Shuffle.java: 包含在卡片上执行 riffle shuffle 的代码
- CardForce.java:主类
我的程序中的卡片可以描述为具有face(A,2,3,4..J,K,Q)、suit(Hearts,Diamonds,Clubs,Spades) 和对应于面部的值,即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
我希望将我的卡片组从数组列表更改为堆栈,这样我就可以执行弹出、推送和查看等操作。也欢迎在列表转换为堆栈后如何实现这些操作的任何帮助。
【问题讨论】:
标签: java arraylist stack push peek