Loading...
+ Нов въпрос
rumar avatar rumar 3 Точки

Grooming Salon от Java Advanced Exam - 26 June 2021

Здравейте,

 може ли някой ми да помогне в решението на  Grooming Salon  - зад.3 от  Java Advanced Exam - 26 June 2021 . Стигам до 90/100. Проблемът ми е в метода getPet(String name, String owner) .

Условие: https://judge.softuni.bg/Contests/Practice/Index/2997#2

Решение: https://pastebin.com/abuM0mVY

 

Тагове:
0
Java Advanced
svephoto avatar svephoto 1183 Точки
Best Answer

Здравей, rumar,

 

С getPet(String name , String owner) трябва да върнеш обект от тип "Pet". Ето един примерен вариант на този метод:

 

    public Pet getPet(String name, String owner) {
        return this.data.stream()
                .filter(pet -> pet.getName().equals(name) && pet.getOwner().equals(owner))
                .findFirst().orElse(null);
    }

1
20/07/2021 14:08:45
rumar avatar rumar 3 Точки

  Благодаря ти svephoto,

малко ми трудно с функционално програмиране и ми е доста неразбираемо, но пък кода е доста по-къс . И все пак много ти благодаря за бързия и точен отговор.

0
svephoto avatar svephoto 1183 Точки

Моля, rumar, няма проблем, радвам се да помогна. yes laugh

Кодът вътре в метода е равностоен на

Pet currentPet = this.data.stream()
        .filter(pet -> pet.getName().equals(name) && pet.getOwner().equals(owner))
        .findFirst().orElse(null);

return currentPet;

само че, както казваш, е още по-краткият му вариант. Полека-лека ще свикнеш и с този тип програмиране. В случая просто пускаш един поток от запазените в колекцията животни, филтрираш само животното, което отговаря на подадените от отвън име и собственик, като намираш първото такова животно. Ако ли пък няма такова животно - връщаш null. Това се случва в този израз.

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