Получается только 1,2,2,1;.. Знаю, что простейшее задание, я - первый курс.
Проблема в том, что ты проходишь по всему массиву.
1 2 3 4
i=0 i-----^
4 2 3 1
i=1 i-^
4 3 2 1
i=2 ^-i
4 2 3 1
i=3 ^-----i
1 2 3 4
А надо было остановиться на середине массива:
for (int i=0; i<a.length/2; ++i)
меняем a[i] и a[a.length-1-i] местами
или вообще использовать две переменных
for (int i=0, j=a.length-1; i<j; ++i, --j)
меняем a[i] и a[j] местами
Лично мне второй подход кажется более красивым.
PS: А для того, чтобы подобных вопросов не возникало, существует отладчик, который на каждом шаге покажет, чему равны значения переменных.
for(int i=0;i< array.length/2;i++){ ... }
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости