2014-09-24 5 views
0

У меня есть цикл, как показано ниже:Установить параметр, основанный на исключении?

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 равным нулю.

Thanks

ответ

3

Изменить строку:

int nextTime = DataTimes[i+1]; 

To:

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

я полностью не читал его код, это путь: +1 – nem035

+0

спасибо, работал лакомство –

0

Должно быть ошибки. DataTimes [i] - последний элемент массива, когда i = DataTimes.length-1. В это время i + 1 действительно не связан.