Loading...
kaloyannikov avatar kaloyannikov 531 Точки

[Manual String Processing- Exercises] 03. Formatting numbers

http://pastebin.com/BvkyAYDg задачата е старичка ,но с обновено условие an integer a (0 ≤ a ≤ 2222), a floating-point b and a floating-point c and prints them in 4 virtual columns on the console. Each column should have a width of 10 characters. The number a should be printed in hexadecimal, left aligned; then the number a should be printed in binary form, padded with zeroes (if it is bigger than 10 bits remove the least significant ones), then the number b should be printed with 2 digits after the decimal point, right aligned; the number c should be printed with 3 digits after the decimal point, left aligned.

Мисля че това което правя изпълнява условието ако числото е над 10 бита махам незначещите нули, и нямам представа защо не минава последния тест.

Тагове:
0
Java Advanced
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Не съм гледал условието и примерите, но в последния while бих добавил и проверка ако е равно на 1 бита да маха и него

1
kaloyannikov avatar kaloyannikov 531 Точки

Защо да маха ''1" нали е значещ бит? (if it is bigger than 10 bits remove the least significant ones)

Или аз нещо не го разбирам това условие.

0
mbencheva avatar mbencheva 52 Точки

А намери ли проблема? И на мен ми гърми последния тест(аз на C# я правя, но вероятно проблемът е същият).

0
kaloyannikov avatar kaloyannikov 531 Точки

Да , дефакто ако числото е над 10 бита трябва да се изрежат първите битове а не последните аз се бях заблудил.

Примерно ако имаш 11111111110 трябва да остане 1111111111

1
28/05/2016 16:22:39
mbencheva avatar mbencheva 52 Точки

Мерси:-)

0
IvelinTenev avatar IvelinTenev 51 Точки

Ползвам Integer.toBinaryString да конвертирам към binary и StringBuilder.setLength да огранича размера на втора колона. Примерните стойности минават, но не и пети тест. Подскажете какво бъркам:

http://pastebin.com/uwFLLciu

Благодаря предварително,

Ивелин Тенев

0
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Кога за последно задача се е решавала с float?!? Мини един тип нагоре и си 100/100 :) Последния тест е с големи числа :)

1
kaloyannikov avatar kaloyannikov 531 Точки

Насока мога да ти дам може да проверяваш дали стринга е над 10 бита тогава правиш lengtha да е 10 , а ако не е нищо не правиш просто в принтирането долу още в плейсхолдъра може да му зададеш с колко '0' да ти долепи. 

Аз иначе махането на битовете го правя със substring , но и с твоя начин трябва да се получи.

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