Вариант №1: Реализовать класс Money с поддержкой валют и арифметических операции: add, subtract, multiply, divide В классе Money реализовать метод для деления суммы (премии) на N равных частей (сотрудников) без остатка (остаток добавить к одной из частей) Вариант №2: Реализовать класс Quantity с поддержкой единиц измерения и арифметических операций: add, subtract, multiply, divide
В классе Quantity реализовать метод для деления суммы (товара) на N равных частей (ящиков) без остатка (остаток добавить к одной из частей)
Требования к классу абстрактного типа данных - Класс должен инкапсулировать (скрывать) свое состояние в приватных полях
- Класс должен быть неизменяемый (Immutable)
- Класс должен переопределять toString()
- Все методы должны проверять входные параметры и бросать Runtime-исключение в случае некорректных значений
Дополнительные требования: - Методы класса протестировать с помошью Unit-теста
- Реализовать операции сложения/вычитания с различными валютами/единицам измерения, используя конвертацию валют/единиц измерения.
|