можете помочь? что тут не так и тот вариант и другой вариант не работает. просто валидатор ругается...
Фуад Абдулов
9 уровень
и так и сяк не получается
Решен
Комментарии (14)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
MasterMarg
21 октября 2021, 11:25
Здесь
при i=0 будет ArrayIndexOutOfBoundsException, потому что ты ссылаешься на ячейку с номером 20.
Зачем тебе
если можно просто написать
0
Ksenia Volkova Java Developer в DXC Master
21 октября 2021, 12:13
И как это изменит исходный массив array?
0
MasterMarg
21 октября 2021, 14:18
Ступил
0
MasterMarg
21 октября 2021, 15:10
Проверил в идее, так нельзя, но не пойму почему. Массивы же вроде ссылочный тип данных, так почему ссылке array нельзя присвоить значение ссылки arrayj? Беглый гугл не помог.
А не, понял. При передаче массива в метод, ссылка передается по значению, в итоге array в методе меняется корректно, но array вне метода все еще ссылается на оригинальную ячейку памяти.
0
Ksenia Volkova Java Developer в DXC Master
21 октября 2021, 15:15
Когда вызывается метод sort - ему передается ссылка на массив array из main. Эта ссылка находится в локальной переменной array метода sort.
Если ты пишешь
array = arrayj;
то просто помещаешь в локальную переменную array ссылку на новый массив (arrayj).
С этого момента ссылка на исходный массив в методе sort потеряна. Все, что ты делаешь с локальной переменной array, не будет иметь никакого отношения к исходному объекту.
0
MasterMarg
21 октября 2021, 15:17
Уже разобрался, спасибо. Сегодня я несколько туплю)
0
Ksenia Volkova Java Developer в DXC Master
21 октября 2021, 11:25
Что значит - просто валидатор ругается? Ты код свой запускаешь? он работает?
0
Фуад Абдулов
21 октября 2021, 12:09
нет не работает. и там на английском выдает
0
Фуад Абдулов
21 октября 2021, 12:09
конкретную ошибку не показывает
0
Ksenia Volkova Java Developer в DXC Master
21 октября 2021, 12:13
На английском - это и есть конкретная ошибка.
MasterMarg о ней уже сказал:
при i = 0 тут будет ArrayIndexOutOfBoundsException, то есть выход за пределы массива. +1
Фуад Абдулов
21 октября 2021, 12:15
да да я на англ прочел и понял и исправил но потом показал что 3 и 5 условия не выполняется.
посмотрите на код
0
Ksenia Volkova Java Developer в DXC Master
21 октября 2021, 12:16
Это была неправильная подсказка.
+1
Фуад Абдулов
21 октября 2021, 12:25
вот вот. так нельзя присваивать массивы. потому что там указание на ссылку)
0
MasterMarg
21 октября 2021, 15:19
Так можно, но не в этом случае) Мы разобрались)
0