Есть два решения, которым нужны только существующие библиотеки.
Если ваши числа всегда рациональны, вы можете использовать рациональную арифметическую библиотеку. Они хранят каждое число как отношение пары целых чисел. Арифметика рациональных чисел, учитывая только рациональные вычисления, должна быть точной. Список Википедии * арифметического программного обеспечения произвольной точности содержит несколько библиотек Java, которые поддерживают рациональные значения.
BigDecimal, который упоминался в комментариях, может использоваться для получения повышенной точности, но он точен только для десятичных дробей конечной длины. Вы можете точно рассчитать 1/3 в рациональной арифметике, но только приблизительно в BigDecimal.
Рациональная арифметика зависит от точности всех чисел, точно представленных рациональным. Это может нарушить вычисления, например квадратный корень. Интервальная арифметика - это альтернатива, которая не дает вам точности, но позволяет узнать диапазон возможных ошибок округления. Каждая переменная представлена интервалом, который, как известно, содержит действительное арифметическое значение.