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