2014-09-24 44 views
0

我有一個FOR如下循環:根據異常設置參數?

for (int i=0; i<DataTimes.length; i++) { 

    int resultCounter = 0; 
    int currentTime = DataTimes[i]; 
    int nextTime = DataTimes[i+1]; 
} 

我沒有將整個代碼。這個數組有超過1700個條目。我的Android應用程序崩潰,因爲我相信當我到達數組末尾時,「DataTimes[i+1]」將因爲條目不存在而失敗。

我該如何解釋這一點?

類似於ArrayOutOfBound異常將nextTime設置爲零的情況。

謝謝

回答

3

更改行:

int nextTime = DataTimes[i+1]; 

要:

int nextTime = (i + 1) < DataTimes.length ? DataTimes[i+1] : 0; 
+0

我完全沒有讀他的代碼,這是要走的路:+1 – nem035 2014-09-24 02:24:40

+0

感謝,工作一種享受 – 2014-09-24 02:33:21

0

我必須是錯誤的。 DataTimes [i]是i = DataTimes.length-1時數組中的最後一個元素。這時i + 1真的沒有了。