|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|||||||||||||||||||||
Вылетает исключение12.08.2010, 19:29. Показов 2639. Ответов 22
Метки нет (Все метки)
Есть класс Матрица. При работе вылетает исключение:
Exception in thread "main" java.lang.NullPointerException at Matrix.multiplication(Matrix.java:123) at Main.main(Main.java:73) Вообще, когда использую матрицу комплексных чисел, то исключение не вылетает, а когда с своим классом DoubleNumber, то вылетает. Можете объяснить почему?
i
0
|
|||||||||||||||||||||
| 12.08.2010, 19:29 | |
|
Ответы с готовыми решениями:
22
прохожу исключение не могу понять где ошибка. мне нужно сделать свое исключение Часто вылетает исключение JVM При запуске программы вылетает исключение, при отладке кода его нет |
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 12.08.2010, 23:07 | |
|
Ёрик, приаттачьте архив с исходниками и напишите последовательность действий для повторения ексепшена
0
|
|
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 13.08.2010, 01:20 | |
|
Исключение выдает изза нулевого массива т.е. судя по всему могу предположить(код не просматривал, только одним глазком) массив определен на комплексные числа потому с ними и работаета с DoubleNumber уже массив не заполняется
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 13.08.2010, 08:34 | |
|
lifestyle, есть подозрение что в мейне что-то напутано с вызовом - null передается или от него вызывается
0
|
|
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|||||||||||
| 13.08.2010, 10:05 [ТС] | |||||||||||
|
Вот main: (чуть позже выложу все исходники)
Вообще, исключение выбрасывается в методе Матрицы subtraction, в строчке
0
|
|||||||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 13.08.2010, 11:22 | |
|
Exception in thread "main" java.lang.NullPointerException
at Matrix.multiplication(Matrix.java:123) at Main.main(Main.java:73) странно,следуя этому сообщению ошибка происходит в MAINе на 73 строке и в методе умножения матрицы.в мэйне ничего подозрительного на этой строке нету, а метода умножения вообще не нашел, проверь его еще раз, скорей всего там напортачил чего-то с массивом.Скорей всего ты там пустуя матрицу умножаешт ил иона не определяется просто как надо... UPD Нашел умножение, просто под другими строками. а как вы создаете матрицу из Interface"а . что то я запутался в вашем методе.... зачем вы рекурсивно его вызываете?!Что за addition? можно было мне кажетсчя намного проще написать метод.Разбиритесь с методом умножения лучше всего в дебаггере.
0
|
|
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|||||||||||
| 13.08.2010, 11:30 [ТС] | |||||||||||
|
Как нет метода?? У матрицы 69 строка
0
|
|||||||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 13.08.2010, 11:37 | |
|
Где конструктор
Matrix result = new Matrix(rows_, columns_); Вообще вы тут намутили конечно))))Не стоит всегда абсолютно все разюивать на классы используя ООП...
0
|
|
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|
| 13.08.2010, 11:54 [ТС] | |
|
Короче весь код выкладываю
Так, тут не поддерживаются фомарты .java и tar! В общем здесь архив tar, сжатый bzip2 http://slil.ru/29558871
0
|
|
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 13.08.2010, 12:04 | |
|
зачем код ты ответь на вопрос где конструтор в Matrix вида Matrix(int row,int col) ???
0
|
|
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
||||||
| 13.08.2010, 12:40 [ТС] | ||||||
|
Зачем код? Так просили выложить. А конструктор вот:
0
|
||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 13.08.2010, 13:26 | |
|
Кажется нашел проблему!
У тебя в методe addition у DoubleNumber при сложении матриц используется две матрици и та матрица в которую записывается результат обьявляется "пустой" т.е. все ее значения NULL , а в этом методе происходит сложение след образом resMat[i][j]=resMat[i][j]+anotherMat[i][j] т.е. Null+3 например. "незаконное" выражение потому он и выкидывает исключение на NullPointerException. Обьявляй новые матрици не как NULL, а что бы все элементы матрицы равнялись или 0 , например в методе сложения обьявляй стрицу с 0 .
0
|
|
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|||||||||||
| 13.08.2010, 13:37 [ТС] | |||||||||||
|
Не понимаю, у меня же в конструкторе выделяется массив
0
|
|||||||||||
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 13.08.2010, 14:00 | |
|
Ёрик, вы выделили память под матрицу, но она заполнена значениями по умолчанию - null.
Матрица конечно не равна null, но вот для ее элементов-то вы конструктор не вызываете и поэтому они null ЗЫ. можно было сжать в обычный zip и приаттачить. Ну или самому на java написать архиватор в zip- это не сложно
0
|
|
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|
| 13.08.2010, 14:33 [ТС] | |
|
А.. понятно. Тут же интерфейс, просто если бы я указал класс DoubleNumber вместо интерфейса UserNumber, то при выделении массива должен был вызываться конструктор по умолчанию у DoubleNumber. Но так как здесь интерфейс, то конструктор по умолчанию не вызывается. Придется фабрику объектов, что ли делать... Мне нужно сделать так, чтобы "виртуально" вызывался конструктор по умолчанию, т.е. тот конструктор, на объект какого типа ссылается ссылка.
Только не пойму, почему не вылетает исключение у ComplexNumber, смотрю тоже там значения NULL
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||||||||
| 13.08.2010, 14:43 | ||||||||||||
|
если вы напишете так
В этой строке
0
|
||||||||||||
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
||||||
| 13.08.2010, 16:30 [ТС] | ||||||
|
ВЫ не поняли,что я имел ввиду:
Понятно, что мне надо?
0
|
||||||
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|||||||||||
| 13.08.2010, 17:12 | |||||||||||
|
вот методы умножения и сложения:
0
|
|||||||||||
|
47 / 47 / 3
Регистрация: 07.01.2009
Сообщений: 297
|
|
| 13.08.2010, 20:34 [ТС] | |
|
Спасибо, но я уже понял где проблема (писал об этом)!!! Ее еще объяснил M128K145. Как ее исправить? У меня же не матрица целых чисел, а матрица объектов!! В качестве ее элементов может стать экземпляр класса, который реализует интерфейс UserNumber. У каждого класса поля свои, поэтому нужен как бы "виртуальный" конструктор, который делал со своими полями, что надо (инициализировл бы нулями, рандомно числа генерировал, делил на нуль и т.п.) Есть идеи как-н. по другому сделать? Просто у меня поля объявлены как final, поэтому я не могу создать метод в интерфейсе и реализовать для каждой класса како-л. метод, который изменяет данные поля.
0
|
|
|
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
|
|
| 13.08.2010, 21:10 | |
|
ну заполни обьектами тогда матрицу. ты чего то не понимаешь , мне кажеться, ведь мы втроем говорим об одном и том же и я и M128K145 говорим тебе одно и тоже решение я тебе уже в самом коде расписал в чем проблема и сказал что сделать. вчем проблема то?))
0
|
|
| 13.08.2010, 21:10 | |
|
Помогаю со студенческими работами здесь
20
Вылетает исключение Почему вылетает исключение ??? Почему вылетает исключение Почему вылетает исключение Memcpy - вылетает исключение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|