2013-03-24 17 views
0

該方法記錄玩家在完成一個洞時所用的筆畫數。當筆畫成功記錄時,該方法返回true。有兩個注意事項:(1)孔必須按順序記錄,並且必須從1開始。如果接收到的孔不合格,則不記錄分數並返回錯誤(2)孔編號也必須有效。您不能記錄小於1或大於課程孔數的孔的分數。代碼給出了一個java.lang.NullPointerException。這是什麼意思,如何解決呢如果statementStrokes方法

注: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; 
    } 
} 
+0

什麼是holesPlayed的初始值時,該方法與holeNumber = 1 – 2013-03-24 02:43:28

+0

調用我被指示分配holesPlayed = 0 – 2013-03-24 03:40:40

回答

0

holeNumber 1中流傳, holesPlayed爲0,因此失敗:holeNumber <= this.holesPlayed

+0

我被指示分配holesPlayed = 0。我試圖holeNumber <= this.holesPlayed + 1。這導致我的測試案例失敗。 – 2013-03-24 03:43:47

+0

這是我的FIRST編程課程的家庭作業。我的發言似乎滿足了該計劃要求的有效性條件。任何線索我如何改變它,以便它不會失敗? – 2013-03-24 05:53:53

+0

我修改了我的聲明來處理第一個漏洞,但現在我得到了一個java.lang.NullPointerException。這是什麼意思,我如何解決它 – 2013-03-31 02:00:54