Професионална програма
Loading...
+ Нов въпрос
b0b3t0 avatar b0b3t0 1 Точки

[Technology Fundamentals] - Java - More Exercise: Lists - Drum Set

Понеже не намерих във форума въпрос за решението на тази задачка с Java поствам моето решение, ако някой има нужда от него.

https://pastebin.com/rR5qqZf3

В решението проверката "  if (savings - (quality.get(i) * 3) > 0)  " , може да се промени с "  if (savings - (quality.get(i) * 3) >= 0) " , но и по двата начина получавам 100/100. 

Приемам предложения за други решения или рефакториране на кода.   : )

Тагове:
1
Fundamentals Module
LoraOrliGeorgieva avatar LoraOrliGeorgieva 39 Точки

Може да оставиш само единия for-цикъл и в него да ти е цялата логика. В такъв случай обаче, трябва да внимаваш на коя итерация от цикъла си и при премахване на елемент да задаваш нова стойност на i, за да не прескача елемент. smiley

 

0
JsDSU avatar JsDSU 3 Точки

https://pastebin.com/BbjFdHFB <--- ето един такъв варинат с 1 for цикъл. 

Прочетох темата и реших да споделя и моето решение за някого в бъдеще.

П.С. преди да го разгледадете ако имате грешки може да опитате и с този вход

"

10

50 50 51 50 50

50

Hit it again, Gabsy!

"

изход : 

"1 
Gabsy has 10.00lv."

Успех!

0
04/03/2021 17:15:58
ElicaAndreeva avatar ElicaAndreeva 5 Точки

JsDSU Разгледах твоето решение и при премахването на елемент от двата списъка проверката if(i<=drumSet.size()-1) е ненужна, тъй като обхвата на for цикъла е до i < drumSet.size(). Може директно да се напише:

}else{

    drumSet.remove(i);

   originalDrumSet.remove(i);

    i--;

}                    

0