|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
||||||||||||||||||||||||||
NPE в консольных шашках16.01.2017, 22:04. Показов 1697. Ответов 15
Метки нет (Все метки)
Недели три назад я начал писать консольные шашки. Это моя первая какая-никакая толковая работа на Jav'е, стандартные задачки по программированию не в счет. В первый же день я пришел сюда, на форум, получил неплохую помощь в дурацких ошибках и далее начал пытаться сам.
Итог: я не очень многому, но научился, а в плане шашек у меня работает практически всё. Все фигуры могут ходить, шашки превращаются в дамки, правила соблюдаются. Я вышел на финальную стадию - мне осталось добавить только проверку, ест ли игрок при возможности, и может ли он вообще ходить (для конца игры). Застрял я там, где не ожидал:
Я перелопатил код несколько раз, кучу сайтов, static не static, все ломал, делал обратно - ну вообще не врубаюсь, где косяк. 121 строка класса Controller. Заранее спасибо всем, кто хотя бы прочитал это Main
0
|
||||||||||||||||||||||||||
| 16.01.2017, 22:04 | |
|
Ответы с готовыми решениями:
15
Ошибка в шашках
Переход хода в китайских шашках |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 17.01.2017, 10:26 | |
|
Самое время научиться пользоваться дебаггером
0
|
|
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|
| 17.01.2017, 15:58 [ТС] | |
|
xoraxax, а типа я не пробовал
Все переменные не null, это я без дебага знаю, а дебаг больше в этом случае не дает
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||
| 17.01.2017, 17:06 | ||
|
Добавлено через 3 минуты и кстати в java не принято публичные поля делать
0
|
||
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
||||||||
| 17.01.2017, 17:27 [ТС] | ||||||||
|
xoraxax,
0
|
||||||||
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
||||||
| 17.01.2017, 17:53 | ||||||
|
я бы начал с того, что разбил бы этот ужас на хотя бы три читаемые строки
0
|
||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||
| 17.01.2017, 17:58 | ||
|
1) перестать со мной спорить, привести в порядок свой код и найти ошибку 2) продолжить доказывать мне, что ни один объект не равен null, и ловить NPE.
0
|
||
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|
| 17.01.2017, 18:03 [ТС] | |
|
xoraxax, сейчас будут скрины дебага
Добавлено через 4 минуты Паблито, да хоть по одному слову, вылезает на строке с вызовом метода (я пробовал)
0
|
|
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|
| 17.01.2017, 18:13 [ТС] | |
|
дебаг в студию
0
|
|
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|
| 17.01.2017, 18:16 [ТС] | |
|
Но мне кажется, что если проверка на null есть и она проходит, наверное все-таки не в этом проблема
0
|
|
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|
| 17.01.2017, 18:20 [ТС] | |
|
Вот заодно и разделение по строкам
0
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
||||||
| 17.01.2017, 18:27 | ||||||
Сообщение было отмечено DL33_1 как решение
Решение
вообще я имел ввиду что написать как-то так
1
|
||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 17.01.2017, 18:29 | |
|
DL33_1, вам все верно говорят. Пройдитесь дебагом и разделите строки. Какой смысл доказывать что вы правы если вы ловите NPE? Возможно у вас проблемы внутри метода doesMoveNeedEating?
1
|
|
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|
| 17.01.2017, 18:42 [ТС] | |
|
KEKCoGEN, я уже скинул скрины дебагов чуть выше. Проходился им вдоль и поперек. При каком-нибудь null'e, если не обращать внимания на то, что они у меня несколькими строчками выше ищутся и кидается исключение, ошибка была бы раньше.
Что касается doesMoveNeedEating - его дебагил, ошибок нет, да и он вызывается чуть выше (опять же была бы ошибка раньше).
0
|
|
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
|||||||
| 17.01.2017, 18:55 [ТС] | |||||||
0
|
|||||||
|
1 / 1 / 2
Регистрация: 19.06.2016
Сообщений: 36
|
||||||
| 17.01.2017, 19:29 [ТС] | ||||||
|
Один момент. Кажется, я моральный инвалид.
Добавлено через 29 минут Прошу прощения у всех, кто страдал этим идиотизмом вместе со мной. Эту ошибку вообще никто даже теоретически не мог найти, потому что я посчитал это ненужным и стер, чтобы первое сообщение влезло в 15000 символов.
Еще раз прошу прощения. Спасибо Паблито. Тема закрыта. Надеюсь.
0
|
||||||
| 17.01.2017, 19:29 | |
|
Помогаю со студенческими работами здесь
16
Как запрограмировать дамку в шашках?
Dagger2 NPE Мистика и NPE Как делать оценку узла дерева минимакса в шашках? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|