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

Зад.3 Opening от Java Advanced Retake Exam - 16 December 2020

Здравейте,

 Ако може  някой ми да помогне в решението на зад.3 Opening   от  Java Advanced Retake Exam - 16 December 2020 . Стигам до 75/100 и не мога да разбера защо ми гърмят последните 3 теста. Незнам и какви входни данни мога да подам при дебъгване за да открия проблема.

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

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

Тагове:
0
Java Advanced
MartinBG avatar MartinBG 3861 Точки

Не инициализирате Bakery#name в конструктора и съответно report() метода връща null вместо името:

Employees working at Bakery null:

 

    public Bakery(String name, int capacity) {
        this.name = name; // fixed
        this.capacity = capacity;
        this.employees = new ArrayList<>();
    }

 

Логиката в Bakery класа може да се опрости ако се използва Stream API и Collection#removeIf:

    public boolean remove(String name) {
        return employees.removeIf(e -> e.getName().equals(name));
    }

    public Employee getOldestEmployee() {
        return employees.stream().max(Comparator.comparingInt(Employee::getAge)).orElseThrow();
    }

    public Employee getEmployee(String name) {
        return employees.stream().filter(e -> e.getName().equals(name)).findFirst().orElseThrow();
    }

 

1