Loading...
bety_1988 avatar bety_1988 49 Точки

[Java Syntax] - GetFirstOddOrEvenElements

Зравейте колеги! Моля Ви за мнение по една от задачите от домашното Java Syntax. Това е кодът ми: http://pastebin.com/AipicDr4

Въпросът ми е дали съм структурирала правилно и четимо метода - като резултат получавам верен отговор, но реших сама да прочета предварително колкото може от материала и да реша някоя и друга задача. Моля ви да дадете мнение и ако нещо не е както трябва да се коригирам. Предварително благодаря!

Тагове:
0
Java Advanced
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

няколко неща, които можеш да промениш:

if(extractNumber[2].equals("odd")) { - по-добре да направиш "odd".equals(extractNumber[2]) - по този начин избягваш NPE ако extractNumber[2] е null

- if(extractNumber[2].equals("odd")) { и if (numbers[i] % 2 != 0) { няма причина да са вложени - по-добре ги вкарай в един if и ги обедини с &&

if (extractNumber[2].equals("even")) { е обратен случай на първия if - няма причина да се проверява отделно - по-добре го направи с else if

- odd.length() >= n тук = е излишно - ако имаш дължина 5 и искаш да изпечаташ 5 символа ще направиш substr(0, 5) което е на практика целия низ тъй като втория параметър на substr е изключващ - ще вземе от 0 до 4 включително

- odd.substring(0, n); и  return odd.toString(); могат да се обединят в един ред return odd.substring(0, n).toString();

- форматирането на кода малко ти бяга - можеш да си настроиш auto format да се прави на save

Надявам се да съм бил полезен.

 

4
bety_1988 avatar bety_1988 49 Точки

Супер! Много благодаря! Последно да попитам във връзка с форматирането на кода - има ли клавишна комбинация /като Ctrl +K +D в С#/? Ще пробвам това, което предлагаш :)

0
aanguelov avatar aanguelov 219 Точки

Тази тема е полезна за настройка и шорткъти в InteliJ IDEA. 

Браво за инициативата да започнеш да се подготвяш предварително за курсовете от Фундаменталс.

1
bety_1988 avatar bety_1988 49 Точки

Мерси! Сега ще отворя и ще разгледам. Извинявам се, че вече има такава тема и не съм потърсила достатъчно. :)

0
26/02/2016 15:18:12
kaloyannikov avatar kaloyannikov 531 Точки

Реших да не пускам нова тема при положение , че имам проблем на тази задача .

http://pastebin.com/1cNAvCrn

Не разбирам защо не ми влиза в if-овете и дефакто не прави нищо ?

0
29/02/2016 15:02:38
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

сравнението на обекти в Java става посредством .equals методите им - == сравнява референции, докато equals сравнява стойностите в обекта (в случай, че е Override-нат по този начин). String е обект и е коректно да направиш:

"odd".equals(commandSplitted[2])

вместо:

commandSplitted[2]=="odd"

Сравнението с == ще сработи само в частен случай, в който двете референции сочат към един и същ обект, което за String може да се получи освен след присвояване и след статично задаване от типа String example = "example". Последното сработва понеже JVM-а пази string обекти и насочва референцията към вече съществуващи такива (не важи за new String(), който изрично създава нов обект). Това е възможно поради факта, че string е immutable и няма риск от промяна на обекта, а от друга страна се прави намаляване на използваната памет поради преизползването на обектите.

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