Вы должны определить массив вне цикла.Как только переменная, объявленная внутри цикла, она ограничена, она будет ограничена циклом.
Если вы думаете, что это будет иметь смысл в соответствии с вашей логикой, вы можете попробовать следующий код.Однако с этим IndexOutOfBoundException
вы столкнетесь с другой проблемой.Предлагаю отлаживать и больше работать над вашей логикой
int[] array = null;
for (int i = 0; i < a.length; i++) {
array = new int[i];
if (a[i] >= red && a[i] <= yellow) {
array[i] = a[i];
}
}
return array;