![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| kosmonaFFFt |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 538 Регистрация: 14.4.2008 Где: Иннополис Репутация: нет Всего: 5 |
Доброго всем времени суток.
Понадобился мну сегодня класс МАТРИЦА, в котором было бы реализовано умножение этих самых матриц. И решил я сделать так:
И при реализации умножения столкнулся с проблемой - метод ArrayList<Integer>.get(index) возвращает значение, а не ссылку и элемент матрицы нельзя изменить. (здесь я могу ошибаться) Сообщение об ошибке:
Прошу помощи -> (как это можно обойти) || (сделать по другому без лишних телодвижений). Заранее спасибо. Это сообщение отредактировал(а) kosmonaFFFt - 18.9.2008, 19:00 -------------------- ![]() |
||||
|
|||||
| duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: 4 Всего: 4 |
Там еще set есть.
|
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
ты очень сложно решение задачи написал.. я бы на твоём месте, сначало всё упростил.. ArrayList<Integer>.indexOf('Object') даст index ArrayList<Integer>.set(index, 'new Object') посадит Объект на нужное место.. надеюсь понятно объяснил и в тему, т.к. не стал смотреть твоё задание целиком, ты перемудрил сильно.. |
|||
|
||||
| kosmonaFFFt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 538 Регистрация: 14.4.2008 Где: Иннополис Репутация: нет Всего: 5 |
По моему это не массив/список (что мне и надо) а множество и "sets contain no pair of elements e1 and e2 such that e1.equals(e2)" мне не подходит.
Куда уж проще. Надо сделать класс "матрица" и реализовать умножение. Индекс то мне зачем, известен уже. А насчет ArrayList<Integer>.set(...) спасибо - попробую. -------------------- ![]() |
|||
|
||||
| duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: 4 Всего: 4 |
Я имел ввиду метод ArrayList<T>.set(int, T). Ты же писал, что не можешь изменить массив. Так вот тебе нужно исползовать set(int, T), так как начиная с java 5.0 при использовании интерфейсных типов (int, double ...) происходит автоупаковка/автораспаковка: int -> Integer(), Integer -> int. Так вот ты как раз и получаешь значение, а не ссылку (как бы работаешь с примитивом). |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Уважаемый, а к чему такая сложная схема??? Java предоставляет богатый ассортимент инструментов не для того чтобы усложнять себе жизнь.
Почему бы вам не сделать такое: Примеры с википедии, ответы совпадают
|
|||
|
||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
Ещё можно заглянуть во внутренности библиотеки commons-math, там есть классы для работы с матрицами. Возможно, опенсурсное решение придётся вам по вкусу
|
|||
|
||||
| kosmonaFFFt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 538 Регистрация: 14.4.2008 Где: Иннополис Репутация: нет Всего: 5 |
Недопонял малость. Сделал все с set, работает. Всем спасибо за помощь. -------------------- ![]() |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
если честно, я не понимаю, как люди могут писать такое
без скобок {}.. это чтоб себе и другим жизнь упростить типа? |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
А какие проблемы? Читается нормально... |
|||
|
||||
![]()
|
| Правила форума "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. |