【发布时间】:2014-03-12 17:56:50
【问题描述】:
包括玩家手中的一堆牌和两个动作:TAKE 和 DISCARD。当玩家从庄家收到一张牌时,TAKE 将一张牌放在玩家牌堆的顶部。当玩家在游戏中与另一位玩家打出一张牌时,弃牌会从玩家牌堆顶部移除一张牌。每位玩家从庄家那里收到 16 张牌 游戏开始…………
我尝试了这样的代码,但什么也没给我
public class play {
int noOfCards = 16;
static void TAKE(Stack st, int a) {
st.push(new Integer(a));
}
static void DISCARD(Stack st) {
Integer a = (Integer) st.pop();
}
public static void main(String args[]) {
for(int i=0; i<=16; i++) {
Stack st = new Stack();
st.take();
st.discard();
}
}
}
我是这个概念的新手......给我一个解决这个问题的方法
【问题讨论】:
-
请正确格式化您的代码。这将有很大帮助。
-
在你的主循环中,你拿一张牌,然后你丢弃一张牌。所以你的手牌结束时没有牌。
-
“什么都不给我”是什么意思?它编译吗?如果不是,请包括确切的错误。它运行没有错误吗?如果没有,请包含错误的堆栈跟踪。它不会产生所需的输出吗?如果是这样,请在示例输入中包含所需的和实际的输出。在 ANY 上述情况下,如果您使用自己的
Stack类而不是java.util.Stack,请也发布该类(事实上,all 代码这是编译和运行代码所必需的)。
标签: java data-structures stack playing-cards