- Все ошибки
cannot find symbol
связаны с тем, что вы не объявили переменные перед их использованием
for (i = 1; i < ar.length; i++)
необходимо изменить на for (int i = 1; i < ar.length; i++)
, чтобы он работал.
int[] evenarr = even;
- Это назначение является незаконным.
Я предполагаю, что вы пытаетесь сделать здесь, чтобы создать массив с размером числа четных чисел в списке.
Возможно, вы захотите сделать это - int[] evenarr = new int[even]
Вы не можете объединить два массива, выполнив array3 = array1 + array2
Попробуйте вместо этого -
int[] result = new int[evenarr.length + oddarr.length];
System.arraycopy(evenarr, 0, result, 0, evenarr.length);
System.arraycopy(oddarr, 0, result, evenarr.length, oddarr.length);
На заметку - вам не нужно анализировать массив, чтобы найти размеры четных и нечетных чисел. Вместо этого вы можете использовать список, который динамически увеличивается (см. Список )