Вот мой код
String endDate;
int currentIndex = 0;
int nextIndex = currentIndex + 1;
while(currentIndex < aList.size() - 1)
{
endDate = aList.get(nextIndex).getStartDate();
if(endDate == null)
{
endDate = episodeEnd.toString();
}
aList.get(currentIndex).setEndDate(endDate);
currentIndex++;
nextIndex++
}
aList выглядит так:
[itemA, 2019-09-18, 2019-11-13],
[itemB, 2019-11-13, 2019-12-19],
[itemC, 2019-12-19, null]
item C дата окончания всегда будет нулевой, так как нет элемента D.
Смысл кода состоит в том, чтобы сделать endDate каждого элемента таким же, как дата начала следующего элемента. Если следующего элемента нет, тогда конечная дата должна быть конечной датой отдельного периода времени, определенного в другом месте кода IE episodeEnd
Проблема, с которой я сталкиваюсь, заключается в правильном повторении списка.
L oop никогда не достигает конца, так как мне нужно установить последний индекс в aList.size () - 1, чтобы предотвратить indexOutOfRange. Так как он никогда не достигает конца, элемент C никогда не проверяется, следовательно, дата окончания элемента C остается нулевой.
Моя другая мысль заключалась в том, чтобы использовать вложенные циклы для внешнего l oop, смотрящего на currentIndex и вложенный l oop, глядя на
Как мне это кодировать, чтобы элемент C проверялся и избегал indexOutOfRange?