Loading...
Dominik avatar Dominik 82 Точки

[Exam Problems] Java Basics - Logs Aggregator

Здравейте колеги,

Някои имали напредстава защо този код цък (това е кода от решението на колегата на задача 4-та от изпита по Java Basic 1-ви Юни). Ми гърми на 20-ти ред по точно ми подчертава метода .put и ми гърми при опит за компилация.

Проблем в самият Eclipse ли е това? Защото очевидно при колегата кода си бачка без проблеми. Някой друг попадал ли е на такъв проблем или поне да има представа как мога да го поправя .. 

Тагове:
-1
Java Advanced
RoYaL avatar RoYaL Trainer 6849 Точки

Каква е грешката и на каква версия на java run-ваш проектите в еклипс?

1
Dominik avatar Dominik 82 Точки

Ето я грешката 

" Exception in thread "main" java.lang.Error: Unresolved compilation problem:  The method put(String, TreeMap<String,Integer>) in the type TreeMap<String,TreeMap<String,Integer>> is not applicable for the arguments (String, TreeMap<Object,Object>)
at LogsAggregator.main(LogsAggregator.java:20)" 

Иначе run-вам на Java 8 . Пробвах в NetBeans там не се чупи .... сложих на ново Eclipse не помогна особенно.

0
RoYaL avatar RoYaL Trainer 6849 Точки

Значи има два варианта - или след като дадеш на еклипса да пусне проекта под Java 8, не може да намери пътя до Java 8 и стартира дефолтна. Или не му задаваш нищо.

1
a_rusenov avatar a_rusenov 1103 Точки

На 20ти ред в .put слагаш new TreeMap<>() с диамантен синтаксис. Пробва ли с конкретните типове? (new TreeMap<String, Integer>())

0
a_rusenov avatar a_rusenov 1103 Точки

Проблемът идва оттам, че int n = input.nextInt(); прочита само числото и курсорът остава на същия ред. След това първият input.nextLine() взима празен стринг (края на реда на числото) и при сплита ти се връща стринг с 0 елементи. При достъпването им по индекс гърми. Решения няколко:

- слагаш един input.nextLine() преди цикъла да "изгасиш" този празен ред

- парсваш int n = Integer.parseInt(input.nextLine());, като по този начин предотвратяваш грешката.

Имаше там още една алтернатива, но предполагам схвана идеята :)

1
RoYaL avatar RoYaL Trainer 6849 Точки

Според ОП програмата гъми компайл тайм, а не рънтайм?

1
a_rusenov avatar a_rusenov 1103 Точки

Изглежда съм прихванал друг бъг :D

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