如果是recordStrokes方法的语句

时间:2013-03-24 02:37:55

标签: java

该方法是记录玩家在完成一个洞时所用的笔画数。成功记录笔划时,该方法返回true。有两个注意事项:(1)必须按顺序记录孔并且必须从1开始。如果无序接收孔,则不记录分数并返回false(2)孔编号也必须有效。您不能记录小于1或大于球场上的洞数的洞的分数。代码提供了java.lang.NullPointerException。这是什么意思,我该如何解决它

注意:holesPlayed是一个赋值为0

的实例变量

这就是我所拥有的:

public boolean recordStrokes(int holeNumber, int strokes) {
    if ((holeNumber >= 1) && (holeNumber <= Course.NUM_OF_HOLES) 
        && (holeNumber == holesPlayed + 1)) {
        scores[holeNumber -1] = strokes;
        holesPlayed = holesPlayed + 1;
        return true;
     } else {
        return false;
     }
}

1 个答案:

答案 0 :(得分:0)

当提交holeNumber 1时,holesPlayed为0,因此失败:holeNumber <= this.holesPlayed