/
EgorGumovskiy
/
JavaAtVibeCoding
Обзор
Документация
Войти
/
EgorGumovskiy
/
JavaAtVibeCoding
Код
Запросы
5
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
feature/Task-Tracker
src/main/java/task/tracker/TaskTracker.java
59 строк
2 KB
egumovskiy
Поправлен формат вывода сообщений
24 июн 2026, 15:28
24 июн 2026, 15:28
714a17e
Код
Авторство
О чём код?
package task.tracker; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; public class TaskTracker { private Map<String, Task> taskCollection; public TaskTracker() { this.taskCollection = new HashMap<>(); } public void addTaskInTracker(String name) { if (!taskCollection.containsKey(name)) { taskCollection.put(name, new Task(name)); } } public void addTaskInTracker(String name, String description) { if (!taskCollection.containsKey(name)) { taskCollection.put(name, new Task(name, description)); } } public void printTrackedTask() { taskCollection.values().forEach(Task::printTaskInfo); } public void markTaskOnDoneByName(String name) { taskCollection.get(name).toDone(); System.out.printf("задача '%s' переведена в статус Done %n", name); } public void getTaskStatusByName(String name) { try { System.out.printf("Статус задачи '%s' - %s %n", name, taskCollection.get(name).getTaskStatus()); } catch (NullPointerException e) { System.out.printf("Задачи с названием '%s' - не нашлось %n", name); } } public void printTrackerStatistic() { countStat() .forEach((status, count) -> System.out.printf(""" Задач в статусе %s - %d """, status, count)); } private Map<String, Integer> countStat() { Map<String, Integer> stats = new LinkedHashMap<>(); for (Task task : taskCollection.values()) { stats.merge(task.getTaskStatus(), 1, Integer::sum); } return stats; } }