package com.javarush.task.pro.task06.task0605;
/*
Правильный порядок
*/
public class Solution {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
printArray(array);
reverseArray(array);
printArray(array);
}
public static void reverseArray(int[] array) {
for (int i = 9; i >= 0; i--) {
System.out.print(array[i] + ", ");
} //напишите = тут ваш код
System.out.println();
}
public static void printArray(int[] array) {
for (int i : array) {
System.out.print(i + ", ");
}
System.out.println();
}
}
Карина
12 уровень
Кто знающий, пожалуйста, помогите! Почему так решать нельзя (обычный цикл перебор в обратном порядке?) и зачем в методе main метод printArray() вызывается два раза? ((((((
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
25 июня 2021, 12:46
Метод reverseArray должен менять поменять порядок следования элементов на противоположный, он вообще не должен ничего выводить на экран.
На экран выводит метод printArray. Два раза, чтобы вывести дважды: до разворота в методе reverseArray и после него.
0
Карина
25 июня 2021, 12:54
Привет! Когда я смотрела правильное решение, то там в цикле фор совсем другая логика. А я просто сделала цикл с перебором в обратном порядке. Почему так не получается, может что-то еще нужно учесть? Дело в том, что в среде разработки у меня выводится результат в ОБРАТНОМ порядке, но всего строчек три: массив от 1, до 9, потом массив в обратном порядке, а третья строка опять от 1, до 9. Это почему так?
Таким циклом как у меня вообще решать можно или же это вообще логика тупиковая?
Заранее благодарна за ответ
0
Anonymous #2545103
25 июня 2021, 13:04
У тебя метод reverseArray делает не то, что требуется по задаче. Он должен менять порядок элементов в массиве на противоположный. Менять массив, ничего не выводя на экран. А ты в этом методе массив не меняя просто выводишь его на экран в обратном порядке, понимаешь?
0
Карина
25 июня 2021, 13:26
да, да, понимаю. А что делать если я точно знаю, что сама бы не додумалась (на данном этапе точно) но я уже знаю решение и но , кстати, пока мне не очень ясно. сам принцип (почему массив делится на два, и зачем там данные меняются местами)?
0
Карина
25 июня 2021, 13:27
Кстати, спасибо за комментарий!
0
Карина
25 июня 2021, 13:31
И еще, вопросик, не будете ли Вы так любезны, объяснить, как народ делает красивые скрины задачек, а не копирует код как я 🙈🙄
0
hidden #598481
25 июня 2021, 13:45
Когда задаешь вопрос, выбери задачу в верхнем окошке и выбери опцию "прикрепить код"
> зачем там данные меняются местами
Это цель этой задачи: развернуть массив, то есть поменять данные местами "задом наперед": последнее число должно стать первым, предпоследнее - вторым, и т.д.
> почему массив делится на два
Массив не делится пополам. В решении ты просто перебираешь половину массива, и меняешь данные местами. Когда ты дойдешь до середины, у тебя попарно поменяются местами все элементы массива, дальше идти уже не нужно, т.к. иначе ты начнешь менять местами элементы обратно, возвращая их на свои места.
![]()

0
Карина
25 июня 2021, 16:02
💐 Спасибо огромнейшее, наконец-то улеглось в голове
0
hidden #598481
25 июня 2021, 18:57
Пожалуйста!
Если решила задачу, отметь вопрос как решённый
0
Карина
26 июня 2021, 11:43
я нечаянно нажала на кнопку "проверить" когда подсматривала правильное решение, так что оно пометилось как "решена", а у меня осталось чувство неудовлетворения. Ведь я не решила в итоге. Наверное, следует вернуться позже к этой задаче?
0
hidden #598481
28 июня 2021, 05:51
Я имел в виду изменить статус твоего вопроса с "обсуждение" на "решен".
А на задачу забей, впереди еще много разных
0