/
nff
/
lab_1
Обзор
Документация
Войти
/
nff
/
lab_1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/example/converter/ConverterModel.java
62 строки
2 KB
nff
Первый коммит
01 мар 2026, 18:56
01 мар 2026, 18:56
39794b6
Код
Авторство
О чём код?
package com.example.converter; import java.util.ArrayList; import java.util.List; public class ConverterModel { private static final double MIN_TO_MIN = 1.0; private static final double HOUR_TO_MIN = 60.0; private static final double DAY_TO_MIN = 24.0 * 60.0; private static final double WEEK_TO_MIN = 7.0 * 24.0 * 60.0; private static final double WORK_HOUR_TO_MIN = 60.0; private static final double WORK_DAY_TO_MIN = 8.0 * 60.0; private final List<String> history; public ConverterModel() { history = new ArrayList<>(); } /** * Конвертирует значение из одной единицы в другую. * @param amount число * @param from исходная единица * @param to единица результата * @return результат **/ public double convert(double amount, String from, String to) { double inMinutes; switch (from) { case "мин": inMinutes = amount * MIN_TO_MIN; break; case "ч": inMinutes = amount * HOUR_TO_MIN; break; case "дн": inMinutes = amount * DAY_TO_MIN; break; case "нед": inMinutes = amount * WEEK_TO_MIN; break; case "работа_ч": inMinutes = amount * WORK_HOUR_TO_MIN; break; case "работа_дн": inMinutes = amount * WORK_DAY_TO_MIN; break; default: throw new IllegalArgumentException("Неизвестная единица: " + from); } switch (to) { case "мин": return inMinutes / MIN_TO_MIN; case "ч": return inMinutes / HOUR_TO_MIN; case "дн": return inMinutes / DAY_TO_MIN; case "нед": return inMinutes / WEEK_TO_MIN; case "работа_ч": return inMinutes / WORK_HOUR_TO_MIN; case "работа_дн": return inMinutes / WORK_DAY_TO_MIN; default: throw new IllegalArgumentException("Неизвестная единица: " + to); } } public void addHistory(String entry) { history.add(0, entry); if (history.size() > 10) { history.remove(history.size() - 1); } } public List<String> getHistory() { return new ArrayList<>(history); } }