Loading...
fbinnzhivko avatar fbinnzhivko 1586 Точки

JAVA проблем - Programmning Basic -> Simple Conditional Statements -> Metric Converter

Judje линк -  https://judge.softuni.bg/Contests/Practice/Index/152#7
Решение на JAVA - https://pastebin.com/6FswkknL - 98/100.
Какъв е проблема според вас?

 

Даже редакторите на Книгата за Java имат 98/100 на тази задача.
https://github.com/SoftUni/Programming-Basics-Resources/blob/master/Java/Solutions/3.1.%20SimpleConditions/MetricConverter.java

 

 

 

Тагове:
0
Programming Basics 04/09/2017 22:56:47
icowwww avatar icowwww 2781 Точки
Best Answer

Здравей, с double се губи прецизност при умножението. Ако използваш BigDecimal минава с 100/100 - пробвах го

https://pastebin.com/HEBsiw6y 

 

Едит: Всъщност ми беше интересно и се поразрових. Дори се оказа, че може да се реши с double като се промени принтирането на изхода: https://pastebin.com/9irexiu6. Ето каква тема намерих: https://softuni.bg/forum/13902/java-promenya-li-f-tochnostta-na-double

0
05/09/2017 00:20:21
ivaely avatar ivaely 1 Точки

Здравейте и благодаря за уточнението!

Искам да добавя, че в слайд 32 от презентацията за логическите проверки има подвеждащо описание на въпросната задача.

if (sourceMetric == "km") тук променливата е стринг, а както знаем стринг се сравнява с .equals, а не с "==".

Ето това: 

Конвертор за мерни единици – решение
double size = Double.parseDouble(scanner.nextLine());
String sourceMetric = scanner.nextLine();
String destMetric = scanner.nextLine();
if (sourceMetric == "km")
size = size / 0.001;
// TODO: mm, cm, ft, yd, ...
if (destMetric == "ft")
size = size * 3.2808399;
// TODO: mm, cm, ft, yd, ...
System.out.println(size + " " + destMetric);

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