我正在编写一个 java 程序来制作一个简单的二十一点游戏。
我正在使用一组卡片对象作为用户手。
用户将获得两张手牌,但他们可以要求另一张牌,直到达到 5 张牌的限制。
出于这个原因,我制作了带有 5 个插槽的卡片对象数组,以允许将更多卡片添加到手牌中。
但是现在我无法在发牌时打印原始手牌,或者如果用户不要求完整的 5 张牌,因为我的数组将有null
对象。
解决此问题的最快、最简单和最简单的方法是什么?
将用于打印卡片值的行放在 if 语句中,该语句检查数组值是否为空。就像是:
for(int i = 0; i < cardArray.length ; i++)
{
if(cardArray[i] != null)
System.out.print(cardArray.value);
}
不要使用数组 - 使用 List,也许是 ArrayList。
然后,您可以简单地说:
for (Card card : hand) {
System.out.println(card);
}
我假设您的 Card 类有一个 toString() 方法,而 'hand' 是一个 List<Card>
如您所知,您不能访问空对象内的任何内容。在这种情况下,您应该在打印时检查 5 张卡片中的每一张是否为空。
在执行任何操作之前检查 null:
if(x[i] == null){
don't.do.anything();
}else {
print.something();
}
这些方法显然是假的,但尝试类似的方法。
但正如上面的评论所说,你最好有一个清单。