Когда пишу так в IDEA temp=array[array.length-i-1];
Вывод 1, 2, 3, 4, 5, 6, 7, 8, 9, 0,
0, 9, 8, 7, 6, 6, 7, 8, 9, 0,
А если так; array[array.length-i-1]=temp;
Вывод 1, 2, 3, 4, 5, 6, 7, 8, 9, 0,
0, 9, 8, 7, 6, 5, 4, 3, 2, 1,
Почему такая разница в том с какой переменной начинается присваивание???
Кирилл
29 уровень
Объясните в чем разница
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Денис Enterprise Java Developer
13 февраля 2022, 12:29
Во первых, твоего кода не достаточно, что бы ответить на этот вопрос. Основные события происходят за рамками того, что ты написал в вопросе.
Во вторых, ты же понимаешь, что в первом примере ты присваиваешь значение элемента массива переменной temp, а во втором примере ты элементу массива присваиваешь значение переменной temp, что в принципе диаметрально противоположные операции?
0
Кирилл
13 февраля 2022, 13:03
Спасибо! Это фрагмент из метода reverseArray задачи "Правильный порядок." ДжаваРаш удалит комент с правильным кодом, поэтому выложил фрагмент. Задачу сам не смог решить. Через дебаг пытаюсь понять как работает код и на этом фрагменте возник вопрос. Скорее всего позже станет ясно.
0
Денис Enterprise Java Developer
13 февраля 2022, 13:11
Боюсь, что у меня эта задача не открыта (новый курс Java Syntax).
Но если говорить о реверсе элементов массива, то вам следует его реализовать следующим образом:
Цикл проходит до середины массива, и просто меняет местами зеркальные элементы. Первый с последним, второй с предпоследним и т.д.
Переменная swapInd введена исключительно для удобства записи.
У какого ни будь Седжвика это было бы записано вот так:
Где swap это
+2
Кирилл
14 марта 2022, 06:01
Спасибо! я так понял что "-i" в записи array.lenght-1-i переставляет последний элемент массива на 0 индекс и с каждой итерацией происходит замена. Через дебаг посмотрел что происходит.Пока просто запомнил)
0
Денис Enterprise Java Developer
17 марта 2022, 11:03
ну да, i это просто координата элемента, если от начала массива то само i и есть координата, если же идти с хвоста, надо вычесть эту координату из координаты последнего элемента (length -1).
+1