0

方法是记录球员完成一个洞时的击球次数。成功记录笔画时,该方法返回 true。有2个注意事项:(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;
     }
}
4

1 回答 1

0

holeNumber1 上交时,holesPlayed是 0,所以这个失败:holeNumber <= this.holesPlayed.

于 2013-03-24T02:41:59.330 回答