Решение
for (int i = 1; i < panel.length; i++)
{
if ( i % 2 == 0 ) { panel[i].setBackground(Color.white); }
else { panel[i].setBackground(Color.red); }
}
Или более краткое выражение, использующее троичный оператор:
for (int i = 1; i < panel.length; i++)
{
panel[i].setBackground( i % 2 == 0 ? Color.white : Color.red );
}
Explaination
%
является оператором по модулю, i % 2 == 0
, когда i
четное, != 0
, если нечетное.
Предостережения
Ваш массив панелей, на которые ссылаются в вашем примере, начинается с 1, массивы в Java начинаются с ZERO, у вас может быть потенциальная ошибка отключения, если у вас есть что-либо в (первом) элементе массива ZERO.
Использование классов типа safe List
всегда лучше, чем работа с массивами напрямую, вам не придется сталкиваться с проблемами единой ошибки, которые вы создаете, не используя первый слот массива.