この方法は、プレーヤーがホールを完了するときに取ったストローク数を記録することです。ストロークが正常に記録されると、メソッドは 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;
}
}