ну собственно сначала все работало , но не проходило по второму пункту, решил исправить TestOrder.initDishes() стало выбрасывать NullPointerException ... короче погибаю, не знаю, что дальше делать... одним словом Хелп ми плиз!
Вадим Власов
39 уровень
выбрасывает java.lang.NullPointerException и не проходит по второму пункту
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavlo PlynkoJava-разработчик в CodeGymExpert
12 февраля 2018, 12:02решение
В классе TestOrder удали поле dishes.
+2
Вадим Власов
12 февраля 2018, 20:05
удалил, ошибка пропала, но все так же не проходит... что делать?
0
Вадим Власов
12 февраля 2018, 20:09
решил.. спасибо :)
проблема была в том, что криво выполнил задание 18 - надо было, чтоб заказ собирался вариативно, а я задал определенные блюда
0
Сергеев ВикторMaster
11 февраля 2018, 21:23
NPE в принципе неинформативная ошибка. Единственное что помогает это стектерейс, но вы же предлагаете нам без него гадать, какой же объект в 19 классах у вас неинициализрован =)
0
Вадим Власов
11 февраля 2018, 21:57
Насколько я понял ошибка вылетает при создании объекта TestOrder.
Показывает на toString() в классе Order
0
Сергеев ВикторMaster
11 февраля 2018, 22:15
и снова, вы усложняете. Вам компилятор говорит даже в какой строке выскочил, а вы называли только метод. Остановитесь в методе на дебаге и посмотрите какой объект null
0
Вадим Власов
11 февраля 2018, 22:35
Смотрел... dishes из TestOrder, но не понимаю как это исправить, может можете помочь?
0
Сергеев ВикторMaster
11 февраля 2018, 22:49
и вы продолжаете утаивать стектрейс ошибки...
Ну без него могу помочь только так:
инициализируйте то, что не инициализировали =)
0
Вадим Власов
11 февраля 2018, 23:02
Exception in thread "Thread-2" java.lang.NullPointerException
at com.javarush.task.task27.task2712.kitchen.Order.toString(Order.java:25)
at com.javarush.task.task27.task2712.Tablet.getOrder(Tablet.java:52)
at com.javarush.task.task27.task2712.Tablet.createTestOrder(Tablet.java:34)
at com.javarush.task.task27.task2712.RandomOrderGeneratorTask.run(RandomOrderGeneratorTask.java:24)
at java.lang.Thread.run(Thread.java:748)
Total - 0.00
Eighth Video - 90
Fifth Video - 20
First Video - 100
Fourth Video - 12
Second Video - 10
Seventh Video - 2
Девятое видео - 3
седьмой видосик - 140
Third Video
вот это выкидывает
0
Сергеев ВикторMaster
11 февраля 2018, 23:18
Смотрите вы запускаете RandomOrderGeneratorTask, который вызывает Tablet.createTestOrder, который вызывает свой же метод getOrder и первой же строкой вызывает вывод ордера на экран.
Теперь если посмотреть, то видно:
при создании ордера вы напрочь игнорируете инициализацию списка блюд. Как его инициализировать и в какой момент решает логика задачи, но к сожалению её я не помню, много времени прошло.
Вернитесь на этап написания этого кода (класса Order) и прочитайте задание, думаю там все это есть.
ps..
возможно если что-то расскоментировать, то все заработает.
0
Вадим Власов
11 февраля 2018, 23:33
getOrder() - это общий метод для createOrder и createTestOrder то, что повторяется и там и там.
Order мы создаём только тот, что TestOrder, по идее Order здесь вообще роли не играет. Эх, уже всю голову сломал
Раскоменчивал все, толку 0
0