Loading...
magdalena70 avatar magdalena70 96 Точки

[Homework] Java Basics - Syntax - September 2014

Имам питане относно 4та задача от домашното- The Smallest of 3 Numbers.

От примерите,които са дадени,при изхода има нещо,което не разбирам:

Ако въведем цифрите 5  2  2 ,полученият резултат е 2,но понеже има и примери с дробни числа,

аз съответно използвам тип double и това ми връща резултат 2.0 вместо 2.Ако използвам Math.round(),

тогава пък ми закръгля дробните числа до цели.Трябва ли при резултат 2.0 -> да извежда кръгло число,

а при 2.5 -> да извежда 2.5?

Тагове:
4
Java Advanced 09/09/2014 21:41:16
lubomirjurukov avatar lubomirjurukov 63 Точки

Ето и моите решения GitHub

0
27/09/2014 13:50:18
r.conkov avatar r.conkov 13 Точки

Здравейте, колеги. Реших да си напиша сам всико по 10-та задача. Успях, ама кода се получи малко първобитно. Ето runnable .jar файла. Дайте feedback дали работи. Дано съм помогнал. :)

https://www.dropbox.com/s/0vsmfhvuyj91umm/_10_PaintAnSVGInHTML.jar?dl=0

1
11/09/2014 12:38:43
akaneva avatar akaneva 5 Точки

Едно решение, което не е напълно коректно е да се провери дали резултатът е целочислена стойност и ако е така да се изведе като цяла стойност т.е

        float result = Math.min(Math.min(a, b),c);
        if ((int)result == result) {
            System.out.println((int)result);
        }
        else {
            System.out.println(result);
        }

0
tdsamardzhiev avatar tdsamardzhiev 77 Точки

Кастването на float/double към int не е полезно за здравето. Аз го правя така:

double min = Math.min(a, Math.min(b, c));
String output = String.format((min == Math.floor(min) ? "%.0f" : "%s"), min);
System.out.println(output);

Не знам защо, но работи laughing

 

1
14/09/2014 09:57:06
akaneva avatar akaneva 5 Точки

Ето моето решение на задача 10 Paint a House as SVG  -> house.htm

Използвана е библиотеката batik

Не успях да намеря как през библиотеката да се зададе на svg -> width и height.

2
tdsamardzhiev avatar tdsamardzhiev 77 Точки

Ето я и моята гитхуба с всички задачи решени :)

0
hristo.dimitrov avatar hristo.dimitrov 8 Точки

аз се оправих така:

работя с double. накрая правя една проверка на резултата- дали е истински double или след запетаята си има само 0. ако е double го принтя, а ако всъщност е int (да речем 5.0) форматирам за да махна нулата и принтя. 

 

double smallest = smaller(smaller(a, b), c);

        if (smallest % 1 == 0) {
            System.out.printf("%.0f", smallest);
        } else {
            System.out.print(smallest);
        }


 и тва е :)

1
14/09/2014 15:08:35
a.angelov avatar a.angelov 1316 Точки

Да помоля някой от екипа на СофтУни да активира оценяването на домашното smile

0
Filkolev avatar Filkolev 4482 Точки

Направо на всички домашни - нали по принцип е " Нямата право да оценявате" докато не изтече срока или ако не си предал. Така и така сроковете са много кратки, най-добре веднага като изтече срока хората да могат да проверяват.

0
a.angelov avatar a.angelov 1316 Точки

Аз писах на имейла на СофтУни, че тук може скоро да не го види никой :)

ПС. Готово - вече може да се проверяват.

1
15/09/2014 13:58:53
gody_93 avatar gody_93 4 Точки

ЛинкЗдравейте колеги! 

Можете ли ми кажете защо на 6та задата FormattingNumbers как да запълня празното място с нули, защото по моят начин ми дава 

 

Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = 0at java.util.Formatter$FormatSpecifier.failMismatch(Formatter.java:4298)at java.util.Formatter$FormatSpecifier.checkBadFlags(Formatter.java:2997)at java.util.Formatter$FormatSpecifier.checkGeneral(Formatter.java:2955)at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2725)at java.util.Formatter.parse(Formatter.java:2560)at java.util.Formatter.format(Formatter.java:2501)at java.util.Formatter.format(Formatter.java:2455)at java.lang.String.format(String.java:2927)at Problem_06_FormattingNums.main(Problem_06_FormattingNums.java:15)

 

Линк

0
22/01/2015 18:10:04
Kamigawa avatar Kamigawa 750 Точки

Ами аз го реших по доста малоумен начин ама работи - обърнах стринга с бинарното число обратно в int и в формата му дадох %010d

1
22/01/2015 19:01:38
SimeonStoykov avatar SimeonStoykov 114 Точки

Здравей. Друг начин да направиш това е да форматираш бинарния стринг, който имаш чрез String.format като го подравниш вдясно с 10 символа и празните места, които се получават пред стринга вместо нулите, можеш да замениш с 0 чрез replace и след това при принтирането принтираш само стринга binnary, защото той вече е форматиран както искаш.

binnary = String.format("%10s", binnary).replace(' ', '0');

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