使用BigDecimal找不到符号

2 java bigdecimal

我正在尝试使用BigDecimal.这看起来很棘手.我遇到了一个问题,我想了解是什么导致了它.

public static String nominator(String nbrPeople)
{
    BigDecimal nom = new BigDecimal("365") ;
    BigDecimal days = new BigDecimal("365") ;
    int limit = Integer.parseInt(nbrPeople);
    for (int i = 0 ; i < limit ; i++ )
    {
        days = days.substract(i) ;
        nom = nom.multiply(days) ;
    }
    return  nbrPeople ;
}
Run Code Online (Sandbox Code Playgroud)

这是一个更大的计划的一部分.这是一个应该计算这样的方法:

365 x(365-1)x(365-2)x(365-3)等取决于传入的nbrPeople的值.

我想了解为什么我收到以下错误消息:

找不到标志

方法substract(int)

不是在寻找关于阶乘的讨论,而是在寻找BigDecimal(或BigInteger)的使用.我正在使用BigDecimal,因为在稍后阶段我将需要分割,从而产生浮点.

编辑

编辑2

首先编辑删除(代码)以使帖子更具可读性 - 正确的代码已由一位善良的程序员发布到下面

Rof*_*ion 5

因为该方法被称为减法而不是减法.

参数也必须是BigInteger:

http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html#subtract(java.math.BigInteger)