小编Phy*_*sis的帖子

使用BigDecimal在Java中计算PI时出错

我必须zecimale使用Leibniz公式计算PI 来计算PI到一定数量的小数(在变量中给出).我不知道为什么,但BigDecimal没有一个加法或减法没有修改PI的值.

为什么是这样?

int zecimale = 0;

if (args.length > 0) {
    try {
        zecimale = Integer.parseInt(args[0]);
    } catch (NumberFormatException e) {
        System.err.println("Argument" + " must be an integer");
        System.exit(1);
    }
}

long start = System.nanoTime();
double numitor = 1;
BigDecimal numitor1 = new BigDecimal(1/numitor); 

BigDecimal pi = new BigDecimal(1);

for(int x = 0; pi.scale() <= zecimale; x++)
{
    numitor1 = new BigDecimal(1 / numitor);

    if(x % 2 == 0)
    {
       pi.add(numitor1);
    }
    else
    {
       pi.subtract(numitor1);
    }
    BigDecimal …
Run Code Online (Sandbox Code Playgroud)

java pi

2
推荐指数
1
解决办法
530
查看次数

如何获得当月,上个月和两个月前

我需要一个返回三个字符串的函数:

  1. 第一个字符串将包含当前月份和当前年份.
  2. 第二个字符串将包含上个月和当前年份.
  3. 第三个字符串将包含两个月前和当前年份.

当然,如果当前月份是1月,这也应该有用.

所以现在,结果应该是:

  • 2015年9月
  • 2015年8月
  • 2015年7月

java

-4
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

pi ×1