Решение проходит, но отличается от оформления правильного. Нужно пояснение насколько грамотно мой код составлен и нет ли там лишних действий?
//
Scanner scanner =new Scanner(System.in);
int n = scanner.nextInt();
int[] data = new int[n];
for(int i = 0; i < n; i++) {
if(n >0) {
data[i] = scanner.nextInt();
}if(n%2!=0){
System.out.println(data[i]);
}
}
for(int i = (data.length-1); i >= 0; i--){
if(n%2==0){
System.out.println(data[i]);
}
}
}
}
Эльвира
9 уровень
Насколько правилен такой вариант кода
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Денис Java Developer
26 марта, 11:24
Ты хоть напиши что этот код должен делать :) Но я бы написал что-то такое:
Проверять N на больше нуля смысла нет, ты не создашь массив с отрицательной длинной, код просто вылетит, и раз твой код проходит проверку значит это допустимо. В противном случае проверку нужно было бы делать до инициализации массива.
Равно не вижу смысла в цикле каждый раз проверять N на чётность и нечётность. Это достаточно сделать один раз.
Можно было бы обойтись одним циклом вывода конечно, но тогда нужно ввести несколько дополнительных переменных, а именно старт цикла, шаг цикла и соответственно конец итераций.
Выходит более громоздко и сложнее читать как по мне.
Типа такого что-то:
+3
MasterMarg
27 марта, 09:21
Мог бы в обучающих целях называть переменные не n)) Пусть сразу учится нормально делать все. Еще бы и на методы поделил, для красоты)
0
Денис Java Developer
27 марта, 09:41
Не нужно усложнять то, что усложнять не нужно :) M и N это вполне классические имена для записи в общем виде, да и по условию задачи N фигурирует.
0
MasterMarg
27 марта, 13:29
Я тут условия задачи не вижу) И лучше сразу научить называть переменные нормально, чтобы потом ему по башке не стучали, что нихрена непонятно)
0
Денис Java Developer
27 марта, 15:21
Кое что видно даже без подписки. В данном случае вот это:
Тебе нужно написать программу, которая: 1. Считывает с консоли целое число N. 2. Если считанное число N больше 0, то программа дальше считывает целые числа, количество которых равно N. 3. Вывести в консоль считанные числа, если N нечетное - в порядке ввода, иначе — в обратном порядке. Каждое число выводить с новой строки. Число N выводить не нужно.
0