我的程序创建了一副牌,并将它们全部交给4个不同的牌。 这是我的代码。它创造了4只手并将牌交给每个人。
Hand[] hands = new Hand[4];
for(int i=0; i<hands.length; i++){
hands[i] = new Hand();
}
for(int i=0; i<=Deck.size()+8; i++){
for(Hand hand : hands){
hand.addSingleCard(Deck.deal());
}
}
现在我有4手牌,每张牌有13张牌,我想迭代第一手牌,移开每张牌并将其添加到秒针,因此手1有0张牌而手牌2有26张牌。 实现这个的最佳方法是什么?
我是自学,所以如果你的方法与其他人发布的方法不同,我仍然希望看到它:)
答案 0 :(得分:2)
假设Hand将其卡片保存到Collection<Card>
(例如List<Card>
或Set<Card>
):
public void transferAllCardsToOtherHand(Hand hand) {
hand.cards.addAll(this.cards);
this.cards.clear();
}
答案 1 :(得分:1)
假设Hand
类中的卡数据结构是数组或Collection
,您可以使用for-each循环。
static void transferCards (Hand from, Hand to) {
for (Card card : from.cards) {
to.addSingleCard(card);
}
from.cards.clear();
}
随意替换from.cards
以及代表您卡片的变量。