Loading...
nakov avatar nakov SoftUni Team Trainer 5295 Точки

[Homework] Java Basics - Синтаксис (данни, оператори, изрази, работа с конзолата, условни конструкции) - Май 2014

Колеги, качил съм ви условията на задачите за домашно от втората тема от Java Basics курса. Срокът е до неделя. Напомням, че задачите със звездички не са задължителни. Задачите с по 3 звездички са за шампиони, които искат да се развиват отвъд предвидената метерия в курса.

19
Java Advanced 05/09/2014 00:50:43
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Докарах задължителните, звездичките ще си ги оставя за след лекцията :) Моля за всякакви забележки и препоръки.

1. Rectangle Area

2. Triangle Area

3. Points inside a figure

4. The smallest of 3 numbers

5. Decimal to Hexademical

6. Formatting Numbers - Тук имам проблем, последващите pad-ове след първия не се изпълняват, затова съм ги направил хамалската, моля за идеи, както и за идеи за смислен начин да не се форматира след десетичния когато си е цяло.

7. Count of Bits One

7
nikolay.dimov83 avatar nikolay.dimov83 143 Точки

ЕДИТ:Моя грешка - работят си и двете решения

Някой има ли идея, защо за отрицателни числа ми дава глупости кода (за 7-ма задача):

 

http://pastebin.com/GZk0bJYx

 

Например за iput -632012 ми изкарва двоично представяне:

 

11111111111101100101101100110100

Между другото и с решението на Самуил ми се чини да има проблем при отрицателни числа

0
ZvetanIG avatar ZvetanIG 907 Точки

На задача 7 правилното решение е с побитови оператори. 

http://pastebin.com/2mSetQnB

 

Работи с положителни и отрицателни числа.
5
AntonPetrov avatar AntonPetrov 491 Точки

@ nikolay.dimov83 Защо да са глупости, това е правилното представяне на числото, със сигурност в C#, явно и в Java. По темата относно представянето на отрицателните числа, можеш да погледнеш тук. Можеш да си проверяваш двоичния вид на десетичните числа и с уиндоуския калкулатор.

2
n_stefanov avatar n_stefanov 34 Точки

1. Rectangle Area

2. Triangle Area

3. Points Inside A Figure

4. The Smallest Of 3 Numbers

5. Decimal to Hexadecimal

6. Formatting Numbers

7. Counts of Bits One

8. Count of Equal Bits Pairs

9. Points inside the House

10. Paint a House as SVG

- Използвал съм вградените възможности които се предлагат - awt graphics и awt graphics2d за рисуването, за принтирането SVG библиотеката Batik (http://apache.cbox.biz/xmlgraphics/batik/batik-1.7-jre13.zip). Тествано е и работи, но ще е интересно да видя по-оптимизиран код, че на места се оплетох малко:)

 

 

10
genov1824 avatar genov1824 54 Точки

Аз сложих един if(c%1 == 0) вътре кастнах числото c към int и си направих да ми принтира същия код, само промених за последното да ми принтира новото число, което каствам.

2
ZvetanIG avatar ZvetanIG 907 Точки
7 задача и аз я бях направил така, но зацикля при отрицателно число. Ако искаш да работи и за отрицателни числа, вместо while използвай for, който да завърти кода 32 пъти.
2
n_stefanov avatar n_stefanov 34 Точки

Да, сега го пробвах, прав си. Мерси :)

0
milen8204 avatar milen8204 296 Точки

Здравейте,

докато, четох задачите се сетих за едно (по мое мнение) бързо и лесно решение на
Problem 8.* Count of Equal Bit Pairs с побитови операции.

С две думи създавам нова променлива, която е равна на въведеното число отместено надясно с 1 бит, и една променлива count, за да брои еднаквите битове.

Вкравам числата в един while цикъл, като сравнявам дали последните битове на двете числа (въведенато и помощното) са еднакви, и ако е така count++; И накрая принтирам counta ;)

13
n_stefanov avatar n_stefanov 34 Точки

Хитро решение :)

1
Stoyan.Stoyanov avatar Stoyan.Stoyanov 96 Точки

Наистина хитро, браво! :)

1
DNNdrago avatar DNNdrago 145 Точки

И аз ги започнах задачките, ето какво е положението засега:

 

1. Rectangle Area

2. Triangle Area

3. Points inside a Figure

4. The Smallest of 3 Numbers

5. DecimalToHexadecimal

6. Formating Number - TODO

7. Count of Bits One - Тук на 5343 в примера изходът е 7, а би следвало да е 9, най-вероятно е сгрешено.

8. Count of Equal Bit Pairs

 

Другите по-късно :)

6
n_stefanov avatar n_stefanov 34 Точки

9 е да

0
julieta.p.atanasova avatar julieta.p.atanasova 74 Точки

На Formating Numbers можеш да ползваш c == Math.round(c). По-просто е :)

0
Fundamentalen avatar Fundamentalen 133 Точки

Ето и моето решение на 8-ма задача само с if-ове. Click

 

0
Dalgurak avatar Dalgurak 2 Точки

Задача 6 - Formatting Numbers

Как е правилно да се зададе формата на стринга в този случай?:

String bToB = String.format("%.2f", Double.toString(b)); - за два знака след десетичната запетая и съответно:
String cToC= String.format("%.3f", Double.toString(c)); - за три знака след десетичната запетая

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

Някой намери ли магическия метод Integer.bitCount(number)?

20
RoYaL avatar RoYaL Trainer 6849 Точки

Тц, въртехме цикли... :)

0
rafatpc avatar rafatpc 52 Точки

Сега само ме подсети какъв идиот съм... преди да започна да я решавам си разрових за bitwise операциите в Java, видях метода, после отидох до кухнята и забравих въобще да видя за какво става дума. Нищо, един цикъл никога не е излишен :D

0
kiko144 avatar kiko144 795 Точки

Заради този метод ли няма да има побитова задача на изпита ? :D

4
RoYaL avatar RoYaL Trainer 6849 Точки

/offtopic

Колеги, понеже доста често виждам променливи от рода на int[] intArr или char[] arr искам да вметна, че това не е appropriate naming на променлива. Ние, които четем кода, виждаме че това е масив. Или че е масив от интеджъри. Дори и да е много надолу в кода, като го кликнем от IDE-то, ще ни закара о декларацията. Слагайте по-meaningful имена. Също така, какво ще стане ако решите, че това няма да е повече масив от интеджъри, а от стрингове - вече името му няма да е релевантно - String[] intArr ще трябва да го промените на всякъде да се казва stringArr. А представете си, ако един ден спре да връща масив, и например започне да връща обект? Object arr звучи абсурдно.

0
pdechkova avatar pdechkova 95 Точки

Това сигурно за мен се отнася laughing Ще го имам впредвид smile

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Понякога просто няма какво смислено да се измисли, ще ти дам пример от твой код (разбирам, че е преходно):

Double[] nums1 = convert(nums);

Като цяло, като е задача за домашно от 5 реда, в който ще има само една колекция и е ясно какво ще държи, не виждам какъв е проблемът. А и всеки стигнал до тук му е ясно, че това не е най-читавото именуване, според мен е по-добре да оставим сламките за ООП и КПК курсовете :)

1
RoYaL avatar RoYaL Trainer 6849 Точки

@Samuil.Petrow хубаво е да си създадем принципи за добро именуване още от сега, ООП не е парадигма която включва това. Можеш да пишеш перфектно ООП и пак да блъскаш криворазбран hungarian notation. И моят код не е оправдан да е така написан. :)

 

Нали не мислиш, че поста ми е за да се заяждам, например? Идеята ми е да помогна, да се учим по от рано на някакви такива "дреболии", които са много важна част от нещата всъщност. И, да, аз не съм перфектен, далеч не го мисля, но така като кажа какво виждат във вашите домашни, което трябва да се оправи, и вие като ми кажете че пък виждате същото в моите, и взаимно си показваме подобни грешки, които после ще оправим.

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