为什么第二个值假定为null?

时间:2018-05-31 02:39:53

标签: java

if (clicked == 1 )
{
    firstCard=cardAction;
    if (secondCard!=null && firstCard.getValue() == secondCard.getValue()){
        firstCard.setText("");
        secondCard.setText("");
    }
    firstCard.setText (Integer.toString (firstCard.getValue ()));
}

我对编程比较陌生,但基本上这是一个记忆游戏,所以当你点击一张卡时,会出现一个数字,你必须点击另一张卡并尝试猜测两个数字是否相同。如果你点击一次卡片就会说这段代码;然后内部将运行,并且内部表示如果每张卡的值彼此相等,则将卡片留空(删除数字)。我的问题是,当你只点击一次时,为什么要检查卡片是否相等?如果你只点击一张卡,它不会知道第二张卡是否为空?

1 个答案:

答案 0 :(得分:1)

secondCard的测试可能是检查null,因为可能还没有第二张卡。也许如果在比赛开始时只选择了一张牌?如果secondCard为null,则必须检查该值或访问其值将导致错误。

但是firstCard可能总是有一个值,因为除非选择了firstCard,否则你不会使用这个代码。

现在考虑通过一些关于它正在做什么的评论来理解这段代码会变得多么容易。这是一个值得记住的好教训....