Immutable fractions

Задание

Создайте класс для выполнения основных операций с дробями. В данном варианте дроби не должны изменяться после создания, а методы, реализующие арифметические операции должны быть статическими. Реализуйте метод для автоматического получения строкового представления дроби при печати. Протестируйте своё решение в методе main().
Желательно реализовать метод сокращения дробей через алгоритм Евклида для поиска наибольшего общего делителя (НОД, GCD). Вполне уместной было бы реализовать в этом классе интерфейс Comparable и продемонстрировать работу метода java.util.Arrays.sort().

Решение