Похоже, что gcj компилируется с JDK 1.4.2, который предоставляет только setScale(int scale, int roundingMode)
и setScale(int scale)
.
Код, который вы пытаетесь скомпилировать, кажется, был написан для JDK 1.5.0 и выше. В JDK 1.5.0 вы получаете setScale(int newScale, RoundingMode roundingMode)
в дополнение к двум другим.
Вы можете увидеть, есть ли обновление для gcj, которое позволяет ему использовать 1.5. Посмотрев на сайт gcj , я не вижу в этом никакого смысла. В нем говорится, что текущая версия «поддерживает большинство библиотек 1.4 плюс некоторые дополнения 1.5».
Другой вариант - переписать код, чтобы вызовы setScale(int newScale, RoundingMode roundingMode)
были заменены на setScale(int scale, int roundingMode)
. В 1.5.0 вместо указания целочисленного значения для roundingMode
(используя статические целые числа в BigDecimal
) вы можете указать его с помощью перечисления RoundingMode
(более старый метод все еще поддерживается для обратной совместимости). *
Таким образом, в вашем коде вместо RoundingMode.CEILING
вы бы использовали BigDecimal.ROUND_CEILING
.