![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: 1 Всего: 2 |
Как в процедуре с помощью побочного эффекта вернуть массив double[].
У меня почему-то возвращаются одни NaN. |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
О какой процедуре речь? Приведите пожалуйста код.
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 5 Всего: 9 |
А мне интересно, о каком побочном эффекте речь.
|
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: 1 Всего: 2 |
Ну, например, вот так для proc2:
Это сообщение отредактировал(а) arcsupport - 28.12.2011, 17:50 |
|||
|
||||
_Y_ |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Как понимаю, нужно чтобы по формальному аргументу метода proc2 возвращался новый массив?
Или я чего-то недополупонимаю, либо вот так напрямую это невозможно. Ведь массив это объект, а объекты передаются по ссылке. При вызове proc2(double[]p) Вы передаете в метод именно ссылку на объект, т.е. на его адрес. В методе же модифицируете не объект, а адрес. А поскольку адрес это не объект, то обратно он и не передается, т.к. по ссылке передаются только объекты. Я бы просто упаковал все в простенький класс:
И вызов осуществлял бы таким образом:
а сам метод переписал бы так:
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||||
|
|||||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: 1 Всего: 2 |
А можно ли это сделать с использованием System.arraycopy?
Это сообщение отредактировал(а) arcsupport - 28.12.2011, 18:24 |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Ага, можно
[13.0, 14.0] |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: 1 Всего: 2 |
Спасибо.
|
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
System.arraycopy вам годится только в том случае, если программа всегда работает с массивами одинаковой длины.
В противном случае либо получите комбинацию из элементов нового и старого массивов, либо ошибку ArrayIndexOutOfBoundsException -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |