| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Как работать с значениями из коллекции |
| Автор: Samotnik 4.12.2007, 02:58 | ||||||
У меня есть взятые данные из базы и записанные в коллекции
Каким образом можно производить операции над коллекциями? Мне нужно В Vector c записать значения вычесленные по формуле (x+y)/2 т.е. на моем примере, мне нужно получить коллекцию со следущими значенниями:
и как результат
|
| Автор: AlexeyVorotnikov 4.12.2007, 09:54 | ||
| Во-первых, у класса Vector нет конструктора с тремя аргументами. Ну а сами вычисления делаются в цикле. Что-то типа:
|
| Автор: Kangaroo 4.12.2007, 11:09 | ||||
| Samotnik, используй generics.
|
| Автор: AlexeyVorotnikov 4.12.2007, 11:10 | ||||||||
| Ну я тоже схематично написал У вас коллекция типизированная или нет? Т.е. декларируется ли вектор как
или просто
В первом случае надо писать
во втором
|
| Автор: Samotnik 4.12.2007, 11:24 | ||||||||
Kangaroo, пасибо, запустилось, но выдает Exception
Вот мой код:
Вроде просто все, но не работает.... Пэ.Эс. Кстати,а что значит это исключение ? Добавлено через 3 минуты и 13 секунд AlexeyVorotnikov, Пасибо, но все равно тот же ексепшн
Добавлено через 6 минут и 40 секунд 282 строка, это
|
| Автор: Dims 4.12.2007, 11:48 |
| В переводе это исключение значит "выход индекса за границы". Индекс равен нулю. Это значит, что происходит попытка обращения к нулевому элементу, которого нет. Раз нет нулевого элемента, то рассматриваемый вектор вообще пуст. Поскольку размер вектора p проверяется в цикле, то пуст вектор v. Выше вижу, что он заполняется в каком-то цикле. Вероятно, этот цикл не выполняется ни разу. |
| Автор: Samotnik 4.12.2007, 11:48 | ||
| 2 all Спасибо всем!!! СДЕЛАЛ!! Нужно было вместо set() писать add()
И все работает!! Пэ.Эс. Вопрос, а почему ??? |
| Автор: LSD 4.12.2007, 11:48 | ||||||
Шикарно, у тебя в тексте присутсвует строка:
а потом ты пишешь, что ошибка в строке:
Cудя по всему у тебя какой-то из векторов p или v пустой. Лучше переписать цикл так:
|
| Автор: Samotnik 4.12.2007, 16:06 | ||||
Значит никто не знает ответ на этот вопрос,... Ну ланна, тогда тему закрываю!!! |
| Автор: Kangaroo 4.12.2007, 16:33 | ||||||
Знаем! Тебе просто надо было почитать JavaDoc'u и посмотреть код этих методов. Итак, set(int index, E element)
А вот код:
То есть сначала сверяется текущее количество элементов с индексом который ты суешь методу. А если у тебя пустой массив, то какой элемент ты собираешься там заменить??? А add(E o)
Добавляет к Вектору, что тебе и нужно было сделать. Одним словом - |
| Автор: Samotnik 4.12.2007, 16:34 |
| Kangaroo, ОКИ СПС доступно и понятно, Вобщем RTFM |