Это класс с основной логикой приложения — в нём хранится информация о пройденных шагах, реализована логика по сохранению и изменению количества шагов, а так же рассчитывается статистика.
В памяти приложения хранится следующая информация:
Название месяца и данные о шагах пройденных в каждый день этого месяца. Для удобства считаем, что в месяце всегда ровно 30 дней.
Целевое количество шагов. При старте приложения устанавливается равным 10000.
В классе должна быть реализована следующая функциональность:
Сохранение количества шагов за день. Пользователь должен указать название месяца, номер дня и количество шагов, пройденных в этот день. Количество шагов должно быть неотрицательным. Для ускорения прототипирования на данном этапе считается, что в месяце ровно 30 дней. Если за какой-то день статистика не сохранялась, то считаем количество шагов в этот день равным 0.
Подсчёт и вывод статистики за указанный пользователем месяц. В статистике должны быть следующие данные:
Количество пройденных шагов по дням в следующем формате:
1 день: 3000, 2 день: 2000, ..., 30 день: 10000
Общее количество шагов за месяц;
Максимальное пройденное количество шагов в месяце;
Среднее количество шагов;
Пройденная дистанция (в км);
Количество сожжённых килокалорий;
Лучшая серия: максимальное количество подряд идущих дней, в течение которых количество шагов за день было равно или выше целевого.
Если текущий день — первый в месяце (количество дней, за которое есть данные = 0), то вывод статистики должен работать корректно: все показатели должны быть равны нулю.
Изменение целевого количества шагов. Данные вводятся пользователем. Введённое значение не должно быть отрицательным.