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