Задачу решил, но до конца так и не понял как), постараюсь расписать, что не ясного комментариями в коде ниже.
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]);
}
}
}
}
Igor
8 уровень
Объясните решение задачи
Обсуждается
Комментарии (12)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Konstantin
3 июня 2021, 18:30
Прикрепите условие пожалуйста
0
IgorРаботает в Alvisa
3 июня 2021, 18:31
Тебе нужно написать программу, которая:
Считывает с консоли целое число N.
Если считанное число N больше 0, то программа дальше считывает целые числа, количество которых равно N.
Вывести в консоль считанные числа, если N нечетное — в порядке ввода, иначе — в обратном порядке.
Каждое число выводить с новой строки. Число N выводить не нужно.
Требования:
• Программа должна считывать число N и за ним еще N чисел.
• В классе должен быть метод public static void main(String[]).
• Нельзя добавлять новые методы в класс Solution.
• Программа должна выводить введенные N чисел в обратном порядке, если N чётное.
• Программа должна выводить введенные N чисел в том же порядке, если N нечётное.
0
Konstantin
3 июня 2021, 18:45
0
IgorРаботает в Alvisa
3 июня 2021, 18:54
Все понял, кроме длины массива, откуда он знает длина массива, если у нас индекс n, ну то есть не понятно сколько цифр в массиве 10, 20, 100 и т.д.
0
Konstantin
3 июня 2021, 20:10
array.length \\ array - это переменная в которой лежит массив, length - это поле массива в котором хранится его длина, т.е. этой командой возвращается длина массива
+1
Konstantin
3 июня 2021, 20:13
int [] array = new int [n]; \\ это инициализация массива типа int (положить можно только int в него), с именем array, и размером равным n (его длина или количество ячеек n), и команда array.lenght вернет число n
0
IgorРаботает в Alvisa
3 июня 2021, 21:14
Ну то есть размер n получается резиновый? я могу через ввод водить сколько угодно цифр так?
0
Konstantin
4 июня 2021, 06:58
по условию число n это первое введенное число с клавиатуры, оно определяет размер массива в который записываются последующие введеные числа, а их количество будет n. Массив не резиновый его размер указывается при инициализации
+1
Вячеслав
Вячеслав
18 июня 2021, 19:32
Первый раз мы вводим с клавиатуры число ,в котором мы заказываем размер массива N,а дальше вводим столько данных в массив сколько заказали.
Можно было добавить диалоговое окно,типа String "Какой размер массива хотите создать"
И переменная N зарезервилова в оперативке место под N количество переменных которые дальше будете вводить,и содержать в массиве.
Опять диалоговте окно.
"вводите данные"
А цыкл будет считать чтоб не вылезти за пределы массива,и будет повторятся N раз.
0
Вячеслав
Вячеслав
18 июня 2021, 19:49
Индекс n это и есть размер массива,который ты заказываешь при первом считывании Sustem.In
Дальше делаешь цыкл,который будет повторятся n раз.
0
Konstantin
20 июня 2021, 04:39
Прошу прощения, с кем Вы спорите?
0
Руслан Инженер
24 июня 2021, 17:33
Спасибо тебе добрый человек, за разъяснение условий этой задачи. Без тебя бы так и ходил в потемках.
0