Если ваш первый фрагмент кода является частью метода Newton.sqrt
, то я принимаю как должное, что этот возврат не выполняется.Вы можете взглянуть на документацию BigDecimal.equals
.
Что будет работать так:
else if(number.signum() == 0)
return BigDecimal.ZERO.setScale(precision);
Это, конечно, работает, только если метод не возвращает в какой-то другой return
до этого, а number
действительно точно ноль (игнорируя масштаб здесь).Поскольку Newton
намекает на алгоритм приближения, это, скорее всего, не так.Если эти предположения верны, то вы должны пересмотреть свои требования.