Loading...
plamena.vylcheva avatar plamena.vylcheva 0 Точки

Nested Loops - 08. Fishing - JAVA

Здравейте, 

Имам нужда от помощ. Не мога да си открия грешката в кода. Условието е : 

1.*Излет

Времето се затопля, сезона за риболов наближава и всички рибари тръпнат в очакване. Един от тези рибари е вашият стар познат Любо, който ви моли да му помогнете като напишете програма, която изчислява с каква печалба/загуба се връща от риболовния излет. За ВСЯКА трета уловена риба, рибаря не плаща такса, а получава пари за нея. Парите, които Любо ще получи или плати за една риба се образуват от сумата на ASCII стойността на всеки символ от името на рибата, разделена на килограмите на рибата.

Вход

На първия ред, се чете дневната квота (броя риби, които Любо може да хване) - цяло число [1…100]

След това се четат многократно по два реда:

  • името на рибата – текст
  • килограмите на рибата – реално число в интервала [1.00…1000.00]

Изход

Риболовът приключва при получаване на командата "Stop" или ако се достигне дневната квота.

  • Ако Любо достигне дневната квота първо да се изпише:
    • Lyubo fulfilled the quota!"

След приключване на риболова на конзолата се печата един от двата реда:

  • Ако Любо е спечелил пари - "Lyubo's profit from {брои уловени риби} fishes is {спечелени пари} leva."
  • Ако Любо е загубил пари – "Lyubo lost {загубени пари} leva today."

Парите да са форматирани до втората цифра след десетичната запетая.

Примерен вход и изход

Вход

Изход

Обяснения

3

catfish

70

carp

20

tench

14

Lyubo fulfilled the quota!

Lyubo's profit from 3 fishes is 6.21 leva.

3 - дневна квота (разрешени за улов брой риби)

Първата риба е catfish. Цената й е:

(99+97+116+102+105+115+104) / 70 = 10.54

Понеже е първа уловена риба, трябва да се плати за нея.

carp цена – 21.10 втора уловена риба, трябва да се плати за нея.

tench цена – 37.85. Понеже е трета риба получаваме 37.85.

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

Спечелените пари са 37.85лв. Загубените са  10.54 + 21.10 = 31.64. Понеже 37.85 > 31.64, то Любо е спечелил 6.21лв.

Вход

Изход

Вход

Изход

10

Pike

15

Grass Carp

40

Common Rudd

7

Perch

20

Stop

Lyubo's profit from 4 fishes is 75.26 leva.

6

Bluefish

17.4

Garfish

14.9

Stop

Lyubo lost 94.53 leva today.

 

Моят код е :

https://pastebin.com/bkRd3K0y

Това, което забелязах е, че когато въведа първият примерен вход не ми отчита 3тата риба, т.е. не влиза в проверката , в която добавям към печалбата си.

 

 

Тагове:
0
Programming Basics with Java
svephoto avatar svephoto 1191 Точки

Здравей,

 

Не ти чете последната риба, понеже беше пропуснала = във for-цикъла при

 

i <= fishes;

 

Другите неща, които ти "куцаха" можеш да видиш в рефакторирания/редактирания вариант на твоя код, който ти пращам https://pastebin.com/bD6jWaML и който минава със 100/100 в Judge. Разгледай го паралелно с първоначалния вариант, който си написала и ще видиш точно къде и какво се случва.

Успех!

0
22/11/2019 14:29:57
plamena.vylcheva avatar plamena.vylcheva 0 Точки

Благодаря! Промених 

i <= fishes;

и ми изкарва вече 100/100 в judje. :))

 

0
22/11/2019 20:04:09
svephoto avatar svephoto 1191 Точки

Хехе, да, наистина - явно аз съм си поиграл повече отколкото е било нужно. :))) Ами - честито значи! :-)

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