Это простая проблема модуля.Решение Mathy будет выглядеть следующим образом
Wrap = currentArrayPos % arrayLength - 1 //need this since arrays start at 0 and length starts counting at 1.
If Wrap == 1 --> currentArrayPos = 0
Else --> currentArrayPos = currentArrayPos + 1
При замене значений вы переходите к следующей позиции массива и заменяете значение.Когда вы заменили последнее значение в массиве, модуль говорит вам вернуться к началу и заменить первое значение.
Простое Java-решение было бы:
for(int i = 0; i < array.length; i++) {
//logic for calculating new values and exit condition goes here.
array[i] = newValue
if(i ==> array.length - 1)
i = 0 //resets the loop to keep going
if(exitCondition)
break; //if there's some criteria, get out. }
Если это не постоянно повторяющаяся вещь, то вы можете просто отслеживать последнее место, которое вы заменили в массиве, и выполнить модуль дляопределить, нужно ли вам сбросить или нет.
Предложение Мрэра об использовании списка также заслуживает рассмотрения, но вам необходимо отслеживать позиции.