我正在尝试使用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
首先编辑删除(代码)以使帖子更具可读性 - 正确的代码已由一位善良的程序员发布到下面
因为该方法被称为减法而不是减法.
参数也必须是BigInteger:
http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html#subtract(java.math.BigInteger)
| 归档时间: |
|
| 查看次数: |
5215 次 |
| 最近记录: |