package decks;
import java.util.ArrayList;
public class hand {
private ArrayList<card> hand;
private card test;
public hand(){
hand = null;
}
public void clear(){
for (int x = hand.size() - 1; x >= 0; x--)
hand.remove(x);
}
public void addCard(card c){
hand.add(c);
}
public void removeCard(card c){
if (hand.contains(c))
hand.remove(c);
}
public void removeCard(int pos){
hand.remove(pos);
}
public int getCardCount(){
return hand.size();
}
public String toString(){
String toReturn = "";
for (card n : hand)
toReturn += n + "\n";
return toReturn;
}
}
好吧所以我必须在我的学校做一个家庭作业的纸牌游戏,到目前为止我们已经制作了一张牌,牌组和手牌以及跑步者。我们使用阵列列表构建了甲板和指针。我试图通过使用以下方法在卡片中添加卡片来测试它:
pOne.addCard(test);
addCard类中唯一的东西是:
public void addCard(card c){
hand.add(c);
}
然而,这仅返回错误,它实际上从未向ArrayList手中添加卡。有什么办法解决这个问题?请帮忙
答案 0 :(得分:2)
您在构造函数中初始化.catch
到List
。实例化null
。像,
List
此外,按照惯例,Java类名称以大写字母开头。所以,我会更喜欢类public hand(){
// hand = null;
hand = new ArrayList<>();
}
和Hand
(而不是Card
和hand
)。最后,对于card
,您可以调用List.clear()
而不是使用循环。