Професионална програма
Loading...
Nick1R1 avatar Nick1R1 115 Точки

Според мен задачата ти не ти работи коректно, незнам точно как си го решил, но ти направих корекции на задачатат дотук.

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");
    });
}

 

1
06/11/2015 18:16:09
ptbgnr avatar ptbgnr 1 Точки

Кода, който си написал не ми пресмята нищо, и принтирането хвърля ексепшън. Може ли малко повече разяснение или да ми дадеш целия код на задачата, да разбера по - добре ?

0
ptbgnr avatar ptbgnr 1 Точки

Би ли ми казъл защо този input на Population Counter не разботи  ? 

1
Nick1R1 avatar Nick1R1 115 Точки

Не си ескейп-нал това по което сплитваш, трябва да сплитваш масива по "//|"

Може да имаш и други проблеми, но оправи си това и виж нататък как е, пиши ако нещо,

:)

0
10/11/2015 16:40:16
ptbgnr avatar ptbgnr 1 Точки

Сплитнах, но не работи

0
Nick1R1 avatar Nick1R1 115 Точки

Другото което виждам е , че ти трябва да сплитваш входа който вече си взел, а ти сплитваш нов инпут от конзолата и прескачаш първия.

Веднага под while-а сплитни line-a  и премести новото четене на line  да е най-отдолу, ти по този начин прескачаш и първия ред.. :)

1
ptbgnr avatar ptbgnr 1 Точки

Първият пример не ми тръгва sad

0
Nick1R1 avatar Nick1R1 115 Точки

Драсни новия код

0
Nick1R1 avatar Nick1R1 115 Точки
String[] strArray = line.split("\\|+");   

Тук трябва е така, сплитвай стринга, защото като сплитнеш нов ред и прескачаш този който ти е най-горния.

Дефакто първия ред от примера не го сплитваш, той после като е най-долу си взима следващия ред :)

1
r_panchev97 avatar r_panchev97 71 Точки

Сплитнах го както каза, но пак не работи

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.