Задачу решил, но до конца так и не понял как), постараюсь расписать, что не ясного комментариями в коде ниже. package com.javarush.task.pro.task05.task0505; import java.util.Scanner; /* Reverse */ public class Solution { public static void main(String[] args) { //напишите тут ваш код Scanner sc = new Scanner(System.in); Создали Scanner. int n = sc.nextInt(); Переменной n присвоили метод считывания числа. int [] array = new int [n]; Создали объект-массив на n элементов. for(int i = 0; i < n; i++){ Прописываем первый цикл, для ввода данных с клавиатуры, как он работает не совсем ясно? array[i] = sc.nextInt(); } if((n % 2) == 0){ Пошло первое условие задачи, мол если в веденая цифра четная (делится на 2), то??? Вот тут вопрос, в цикле прописано, что переменная i инициализируется длинной массива, в котором каждый индекс уменьшен на 1? Затем эта переменная больше или равна 0 и идет уменьшение витка for(int i = array.length - 1; i >= 0; i--){ цикла правильно? System.out.println(array[i]); } }else { А дальше если переменная i меньше длины массива или что? не совсем понимаю, помогите разобраться. Задачу решил с помощью примеров в лекции и метода тыка. for(int i = 0; i < array.length;i++){ System.out.println(array[i]); } } } }