Правильный порядок

  • 7
  • Недоступна
Напишем утилиту для работы с массивами. Основная часть функционала готова: метод printArray() выводит в консоли все элементы массива. Тебе осталась мелочь: реализовать метод reverseArray(). Он должен менять порядок элементов массива на обратный. Метод должен работать только с массивами целочисленных
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (254)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Raizly
Уровень 7, Карелия, Russian Federation
около 8 часов назад
Сделал через костыли с созданием второго массива. Зато САМ! :) И еще вопрос к профессионалам. Так ли практически полезны все эти костыльные решения (включая и "правильно образцовое ", если уже есть готовые методы в классе Arrays? Или где-то сортировка "вручную" выгоднее чем, к примеру, использование Arrays.sort()? Просто на нахождение решений к таким задачам бывает уходит немало времени, а потом оказывается, что есть простой метод, который все сделает в одну строчку кода.
Tolya Tegin
Уровень 7, Москва, Russian Federation
позавчера, 19:51
а кто-нибудь может объяснить почему методы из вспомогательных классов не работают? Пытался применить Arrays.copyOf и Arrays.toString говорят что переменная "Arrays" не введена
Aura20
Уровень 8, Москва, Russian Federation
позавчера, 11:05
Сделал все, что от меня требовалось, reverse метод переворачивает массив, однако Джавараш меня шлет куда подальше, увидел верное решение и АБСОЛЮТНО ничего не понял, объясните, что тут за магия, а вообще вижу, что парни снизу что-то гуглят, чтобы узнать, подскажите, что именно загуглить, что посмотреть, прочитать, чтобы эту задачу решить самостоятельно, заранее спасибо за ответ =)
Лиза Чернова
Уровень 8, Russian Federation
позавчера, 11:23
так ты просто выводишь его наоборот, а нужно САМ массив менять. Попробуй создать второй массив и через него поменять.
Мечта идиота
Уровень 7
7 августа, 09:49
public static void reverseArray(int[] array) { array = Arrays.reverse(array); } почему так не работает ? может кто-то обьяснить?
VeridisQuo
Уровень 8, Russian Federation
вчера, 12:47
Потому что класс Java.Arrays не импортирован. Для его использование в начало кода необходимо добавить строчку:
import java.util.Arrays;
Но в задаче класс не указан, и по идее Вам необходимо прописывать код без него :)
Evgeny Vaymer
Уровень 8, Москва, Russian Federation
2 августа, 15:40
Весьма интересная задача) Итак, что лично я узнал для себя: 1. цикл for для вывода массива можно упростить for (int i : array) { System.out.print(i + ", "); 2. Теперь мы знаем где сидит фазан(кто гуглил, тот поймет))))
javIAN
Уровень 8, Georgia
2 августа, 08:59
Я как новичок то есть ноль в программировании, увидев эту задачу был в шоке, увидев решение тоже ни чего не понял. Загуглил и оказывается люди снимают целые видео уроки по тому как это сделать, люди пишут статьи по тому как это сделать!!! Задачка даётся не для того чтобы я ее сам решил, так? Чтобы я посидел, по мучился, по гуглил??? А вы все те кто пишут "какая лёгкая задачка" кто вы люди))))))))
Andrew.A Системный администратор
2 августа, 11:16
Я курс начал проходить год назад, потом на определенном уровне по некоторым причинам бросил, прошел год и решил вернуться и заново вспомнить, что тогда успел пройти тогда. За это время я не возвращался обратно, не читал не вспоминал, но теперь многое из пройденного тогда воспринимается в разы легче, и задачи не открывая решения решаются в разы легче. Часто проблемы возникают из-за не совсем понятного условия задачи, или вернее не совсем четкой установки что точно нужно сделать. У джава раш есть видео с лекциями из оксфорда по программированию, вот там была лекция где они пытались визуализировать программу указаниями из зала, типа давайте напишем программу намазывания пасты на бутерброд, и оказалось, чтобы намазать бутерброд нужно написать множество "не очевидных" команд, наподобие, возьмем банку в правую руку, и левыую руку кладем на крышку и поворачиваем против часовой стрелки. Так и тут в задачах, по началу часто не совсем полное понимание того, что именно нужно.
javIAN
Уровень 8, Georgia
2 августа, 14:52
Да, я смотрел CS 50 Я правда хочу обучиться хорошо и быть специалистом, а не 💩 Чтобы прийти на работу и быть полезным...а не размазнёй
RomaSky QA Automation Engineer
4 августа, 01:13
Все получится, тоже были ранее задачи, которые мне неделю не давали спать. А решение приходило в голову либо случайно, либо путем перечитывания лекций и понятия "как это работает". В задачах очень удобно, что есть пример "как это должно выглядеть на выходе". Чаще всего это и помогает понять что от нас требуют в задачках. Главное не бросайте, не все мы гении, просто иногда приходится позаморачиваться и пусть решение будет выглядеть не супер идеально (но к этому будем стремиться далее), но оно рабочее!!!
javIAN
Уровень 8, Georgia
позавчера, 06:48
Спасибо за поддержку, если я что то начал то уже точно не брошу.
nnS#31222
Уровень 8, Краснодар, Russian Federation
31 июля, 22:40
Хотел сделать через ввод нового массива с обратными данным, но не приняли) А жаль, хотел хитро)
Artem
Уровень 10, Новосибирск, Russian Federation
26 июля, 18:37
Подскажите, для чего мы тут делим на 2?
Blind Villi
Уровень 15, Санкт-Петербург, Russian Federation
28 июля, 08:21
int swap; for (int i = 0;i< array.length/2;i++){ swap = array[i]; // сохраняем значение ячейки[i] в переменную array[i] = array[array.length-i-1]; //присваиваем ячейке[i] содержимое зеркальной ячейки array[array.length-i-1] = swap;//зеркальной ячейке присваиваем данные исходной ячейки Суть в том что в каждой итерации цикла мы через третью переменную как бы меняем ячейки местами (ячейка[0] = последней ячейки, ячейка[1] = предпоследней ячейки) (вообще ячейки остаются на месте, просто меняются данные) и когда мы доходим до середины массива, то весь массив отзеркален. Когда мы заходим дальше середины, то начинаем возвращать значения ячеек как было до отзеркаливания(ячейка[0] = ячейке[0], ячейка[1] = ячейки[1])
Benjam1nBTN
Уровень 7, Бронницы, Россия
20 июля, 05:21
Подскажите! Делаю копию исходного массива, затем переворачиваю эту копию, затем копирую эту копию обратно в исходный массив - если делаю печать в консоль внутри метода reverseArray, то всё ок, получаю развернутый массив, но если печать через метод printArray, то печатает исходный заданный массив. Но ведь метод reverseArray действительно переворачиает массив и возвращает его. Почему не работает?
RomaSky QA Automation Engineer
4 августа, 01:08
Вы копию делаете в другой массив? Вам нужно будет вернуть зеркальный массив именно в array[] Такая же проблема была, записал массив во временный, перевернул его, а далее вернул обратно в array[], да совсем не оригинально, зато решил сам)
Vitalii Konstantinov Enterprise Java Developer
9 июля, 14:43
Я очень советую прогонять ваш цикл через отладчик, смотреть какие значения принимает какая переменная, это очень многое прояснит для вас.