Exam Java Basics - 21 Sept 2014 Morning --> Problem04
Здравейте, може ли някой да ми помогне с написването на output-а на 4та задача ?
Ето кода.
Благодаря
Здравейте, може ли някой да ми помогне с написването на output-а на 4та задача ?
Ето кода.
Благодаря
Според мен задачата ти не ти работи коректно, незнам точно как си го решил, но ти направих корекции на задачатат дотук.
1. можеш да парснеш Amount директно към Long като изрежеш отзад кг-те с
replaceAll("kg", ""))
2. можеш да си събираш директно резултата като килограми, като правиш една проверка дали е Null и ако е нул го правиш да е 0, защото няма как да се събере - трудно ми е да го обясна - става ей така:
Long count = companies.get(company).get(nuts); if (count == null) { count = 0l; } companies.get(company).put(nuts, amount + count) Целия код без принтирането е http://pastebin.com/6PYv9fuH
За принтирането ще ти дам подобен output от друга задача да се помъчиш с него :)
for (Map.Entry<String, TreeMap<String, Long>> item: dict.entrySet()) { item.getValue().entrySet().stream().forEach((entry) -> { System.out.println(entry.getKey() + "-" + entry.getValue() + "kg"); }); }
Кода, който си написал не ми пресмята нищо, и принтирането хвърля ексепшън. Може ли малко повече разяснение или да ми дадеш целия код на задачата, да разбера по - добре ?
Ок,
http://pastebin.com/AHYin8rL
ето решение за 100 точки в джъдж :)
Би ли ми казъл защо този input на Population Counter не разботи ?
Не си ескейп-нал това по което сплитваш, трябва да сплитваш масива по "//|"
Може да имаш и други проблеми, но оправи си това и виж нататък как е, пиши ако нещо,
:)
Сплитнах, но не работи
Другото което виждам е , че ти трябва да сплитваш входа който вече си взел, а ти сплитваш нов инпут от конзолата и прескачаш първия.
Веднага под while-а сплитни line-a и премести новото четене на line да е най-отдолу, ти по този начин прескачаш и първия ред.. :)
Първият пример не ми тръгва
Драсни новия код
http://pastebin.com/Dsf5sBMn
Тук трябва е така, сплитвай стринга, защото като сплитнеш нов ред и прескачаш този който ти е най-горния.
Дефакто първия ред от примера не го сплитваш, той после като е най-долу си взима следващия ред :)
Сплитнах го както каза, но пак не работи