Loading...

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

ksevery avatar ksevery 35 Точки

[Judge] Java Basics - Странна грешка

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

Та днес седнах да решавам задачи от Judge-a - пускам първата, пиша я, изкарва ми очакваният резултат, пускам в Judge - 90/100. Става въпрос за задачата Dozens Eggs от 3 септември. След сравнение с авторското решения видях, че няма никаква разлика между логиката на решенията. Накрая се оказа, че ми гърми последния тест, защото при изпечатване на резултата съм ползвал MessageFormat.format() вместо директно да си пиша инпута с конкатенирани стрингове. С други думи, при мен беше:

System.out.println(MessageFormat.format("{0} dozens + {1} eggs", dozens, eggs));

А в авторското:

System.out.println(dozens + " dozens + " + eggs + " eggs");

Щом си смених моето печатане с това от авторското си ми даде стоте точки. Та, явно да се използва MessageFormat в Judge-a крие рискове. Някой знае ли защо се получава така всъщност? Ще съм благодарен за някакво разяснение.

Всичко най-добро, и успех с подготовката за изпита и самия изпит.

0
Java Advanced 06/02/2015 14:57:21
g.stoyanov avatar g.stoyanov 776 Точки
Best Answer

Може ли да дадеш целия код или поне типовете на променливите които ползваш в посочения пример?

0
ksevery avatar ksevery 35 Точки

http://pastebin.com/Wa1eni6f

Ето го, първо е моят код, даващ 90/100, след това е авторското решения. Подчертавам, проверил съм граничните случаи, даде ми 100/100 като смених реда с печатането, както съм написал във въпроса горе.

0
g.stoyanov avatar g.stoyanov 776 Точки

System.out.println(1000);
System.out.println(MessageFormat.format("{0}", 1000));

 

стартирай тези редове и сам ще си отговориш на въпроса laughing.

1
ksevery avatar ksevery 35 Точки

...MessageFormat слага разделители при печатането на по-големи числа... Seriously?

Мерси за съдействието, сега вече ще знам - MessageFormat само когато ще изписвам нещо за потребители - в Judge-a не :D

0
g.stoyanov avatar g.stoyanov 776 Точки

Може да си го ползваш и в джъджа, просто го използвай по този начин:

System.out.println(MessageFormat.format("{0,number,#}", 1000));

 

Научи повече за форматирането тук.

Тук също има информация.

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