Математика с деньгами сложнее, чем думает большинство инженеров (более обобщенно)
Если вы делаете расчеты в валюте, я думаю, вы можете углубиться в проблемы, которые кажутся простыми на первый взгляд, но на самом деле довольно сложными. Например, методы округления, которые являются результатом решений бизнес-логики, которые часто повторяются, могут существенно повлиять на итоги вычислений.
Если это домашнее задание, показ учителю, что вы продумали реальную проблему, а не просто слили кучу кода, который «работает», - несомненно, будет более впечатляющим.
Кстати, я изначально собирался предложить посмотреть на реализацию математических методов Java в исходном коде, поэтому я взглянул. Я заметил, что Java использует нативные методы для своих методов округления - как и положено.
Однако взгляд на BigDecimal показывает, что для округления в Java доступен исходный код Java. Поэтому вместо того, чтобы просто дать вам код для домашней работы, я предлагаю вам взглянуть на закрытый метод BigDecimal doRound (MathContext mc) в исходном коде Java.