![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| noCooL |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Итак, при компиляции следующего текста:
компилятор выдает строчку: ___________________________ D:\prog>javac Prost.java Prost.java:16: operator % cannot be applied to int,java.lang.Object if(i % v.get(j)!=0) ^ 1 error ___________________________ Что здесь не так? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
v.get(j) возвращает Object.
надо
|
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Ты делишь примитив(число типа int) на Object(который, возможно будет даже не числовым объектом а каким-то String или даже SessionContext или вообще любым классом) Тебе надо ЯВНО привести сей полученный Object к числовому Объекту типа Integer, а из него уже извлечь примитив(число) типа int -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| noCooL |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Ту проблему исправил.
Появилась новая. Код:
Компилятор выдает: D:\prog>java Prost Введи диапазон простых чисел... 5 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 2 at java.util.Vector.get(Unknown Source) at Prost.main(Prost.java:16) Не думаю, что ошибка в логике, т.к. с массивами она прекрасно работала... Где ошибка? p.s. смутила 12 строчка, и я записал вместо нее
Та же тема... Это сообщение отредактировал(а) noCooL - 3.4.2006, 20:05 |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
noCooL, у тебя отладчик есть? Ты можешь(умеешь) по шагам программу исполнять?
у тебя видимо эта строчка кидает исключение, поскольку элемента с индексом 2 не существует. |
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
noCooL,
У тебя логика циклов какая-то путаная... В векторе у нас один элемент ( v.add(new Integer(2)); ) независимо от введённого числа А когда попадаем в ((Integer)v.get(i)).intValue() - из вектора тянется ВТОРОЙ элемент которого у нас нет, а i=2, значит всё-таки пытается второй(Я СКАЗАЛ - ГОРБАТЫЙ!!! А jvm и говорит: слющь, да? какой такой 2? Нэт такой элэмэнт! Адын есть! Два нэту! Вобщем продумай логику циклов, лично мне непонятно что от них требуется в физю смысле -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Да! и ваапче!
Коль уж в цикле тянешь из коллекции(вектора к примеру), неплохо бы проверять границу, дабы до иксепшна не доводить. А у тебя проверяется j меньше сайза, а элемент тянется по i -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]()
|
| Правила форума "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. |