Loading...
+ Нов въпрос
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

[Judge] Java Basics - Подобрения при изпълнението на Java код в Judge системата

Здравейте!

От днес има няколко подобрения при изпълнението на Java код в Judge системата. Те са:

- Времето за изпълнение на вашия код вече се измерва коректно. ВАЖНО: Във връзка с това подобрение всички решения на задачите от изпитите в понеделник и вторник са пуснати за тестване отново. Някои може да имат повече точки от преди. Това се прави, за да са еднакви условията за всички участници в изпитите, защото както знаете има изпит в неделя.

- Вече имената на вашите класове могат да започват с долна черта, като позволените символи са: латински букви, цифрите и долната черта. Пример: _Task01 е валидно име за клас.

Вече може да имате пакети във вашите решения. Пример: package Test; [кодът ви] e валидно.

 

[UPDATE]

- Имаше малък проблем с коректното измерване на времето, който беше отстранен. ВАЖНО: Всички решения от изпитите отново се ретестват!

- Вече може да ползвате lambda изрази.

9
nakov avatar nakov SoftUni Team Trainer 5294 Точки

Решен е още проблемът с няколко класа в един файл. Вече можете да пишете няколко Java класа в сорс кода си, но трябва да имате само един публичен клас (иначе няма да се компилира кода и извън Judge системата). Можете да ползвате вложени класове, анонимни класове и lambda изрази, компаратори и други.

2
ttitto avatar ttitto 1153 Точки

Явно има недовършени неща, защото следният код с ламбда израз ми предизвика грешка

hayvans.forEach(h -> System.out.println(h));

hayvans е  TreeSet<Long>. Наложи се да заменя реда с

 for (Long hayvanNum : hayvans) {
                System.out.println(hayvanNum);
            }

за да проработи. И друг път съм ползвал ламбда досега за такова отпечатване, но не е имало проблем. Явно някои подобрения са  довели до бъгове.

0
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

Lambda изразите не работят все още. Утре сутринта ще са валидни. ;) Ще пиша в тази тема.

1
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

Вече може спокойно да ползвате Lambda изразите. ;)

1
ttitto avatar ttitto 1153 Точки

Може ли да погледнете submission 27878 защо дава runtime error. Кодът работи при мен и дори връща верни резултати, а в Judge гърми?!

ПС. В системата връща като верни само отговорите, които са "No", а при мен в Netbeans си работи коректно. Дава грешка, която започва с

Exception in thread "main" java.lang.reflect.InvocationTargetExc...
0
TodorovH avatar TodorovH 216 Точки

Здравейте,

Пробвах системата и продължава да дава същата грешка за време!

До време за изпълнение 0,025 включително отчита, че е коректно и от 0,026 нагоре не го приема за коректно!

Дано съм ви бил полезен!

Поздрави!

1
TodorovH avatar TodorovH 216 Точки
Времето вече работи коректно! Благодаря!!!
0
DimitarYotov avatar DimitarYotov 75 Точки
на мен много ми е любопитно за едната задача от изпита ми .... как ми се получи фокуса но ще изчакам доакто всички минат
0
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

Какво имаш предвид? Дай подробна инфорамация, моля.

1
Matrix avatar Matrix 1092 Точки

От вчера имам проблем със системата - каквото и да  пейстна ми дава "Not process yet"? Естествено давам Java code на изпълнение, не Node.js примерно...

Дори копи-пействам код, който вече е минал през системата и ми е дал точки. Например това системата ми даде 50 точки, при повторен опит да го изпълня ми дава "Not process yet"?

0
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

Изчакай, в момента всички решения от изпити се ретестват. ;)

2
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

За да го видят повече хора го пиша и като отговор.

[UPDATE]

- Имаше малък проблем с коректното измерване на времето, който беше отстранен. ВАЖНО: Всички решения от изпитите отново се ретестват!

- Вече може да ползвате lambda изрази.

5
Teodor92 avatar Teodor92 569 Точки

Сложи си една снимка бе - като престъпник си :D

4
budnikov avatar budnikov 15 Точки

Искам да питам, не знам дали е тук мястото - ако не, се извинявам.

Ето този код е едно от решенията ми на задачата SimpleExpression (от 1-ви юни).

В условето се казва, че се допуска прецизността след запетаята да е 7.

На конзолата теста с числата 987654321 и 0,987654321 дава отговор 987654321.9876543, както е в теста. В системата, обаче, резултатът излиза като 987654321.9876540, което прави отговора грешен.

Та се чудя, дали е проблемът в конзолата на Eclipse (пробвах на 2 отделни компютъра), judge-системата или в мен :)

И най-вече дали не би могло да ми се признае някоя друга допълнителна точка ;)

А иначе вече разбрах, че най-вярното е да се ползва BigDecimal, за което не бях се сетил.

0
nakov avatar nakov SoftUni Team Trainer 5294 Точки

Ами при теб е грешката. Седмата цифра ти е 0, а вярната е 3 (т.е. имаш 6 верни цифри след десетичната точка вместо 7). Просто е уловка в условието на задачата. На пръв поглед изглежда, че резултатът се побира в doble, но това не е така, защото double пази общо 16-17 цифри. Решението е да ползваш BigDecimal. 

2
budnikov avatar budnikov 15 Точки

Благодаря за отговора! Само да питам, чисто информативно, да се знае завбъдеще (сега вече не претендирам за точки :) ) - от какво може да идва разминаването между резултата, изписан на конзолата (987654321.9876543), и този, изписан в системата (987654321.9876540)?

0
coaster avatar coaster 412 Точки

Здравейте, само при мен ли има проблем - от около половин час събмитвам решението на една задача, но ми изписва Compile Time Error. Накрая буквално копирах авторското решение, за да пробвам и с него - същата работа.

0
vladislav.karamfilov avatar vladislav.karamfilov 1123 Точки

Направи класа си публичен. ;) Задължително всеки събмит трябва да има 1 публичен клас. :)

2
TodorovH avatar TodorovH 216 Точки

Погледни на кой език си, че и аз имах същият проблем! Беше се сменило на С# и само трябваше да го сменя на JAVA!

0
coaster avatar coaster 412 Точки

Ами бях си на Java, проблемът е бил, че е липсвал публичен клас, както спомена колегата Влади. Като го промених, нещата станаха от първия път. Благодаря и на двама ви!

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