小编Pau*_*aul的帖子

如何使用 dropbox java api 同时上传多个文件

我想知道如何使用 java dropbox api 将多个文件上传到 dropbox。我想知道这一点,因为目前,当我想上传文件夹时,我会递归地遍历文件夹中的每个文件并逐个上传它们。但是,我发现这太慢了。所以,我想我可以一次性上传一个文件夹中的所有文件。但是,我该怎么做呢?我应该创建 n 个线程并且每个线程上传一个文件还是什么?

java multithreading dropbox dropbox-api

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

在java中实现Pi算法

我在网上搜索了一个能够以有效的方式计算pi值的算法,我发现了这个:

在此输入图像描述

使用计算器,我能够手动计算pi的前几位数字.然后我知道公式有效,所以我试图实现它然而,输出不是pi的值附近.然后,k我每次递增时都尝试打印输出值和输出k,发现输出从3到10再到1,依此类推.如果有人能指出我的计划中的缺陷,将不胜感激.

这是我的代码:

 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;

  public class pi2 {
static MathContext mc = new MathContext(1000, RoundingMode.HALF_EVEN);

public static void main(String[] args) {

    BigDecimal root2=new BigDecimal("1.41421356237309504880168872420969807856967187537694807317667973799");
    BigDecimal a=(root2.multiply(new BigDecimal("2"))).divide(new BigDecimal("9801"),mc);
     BigDecimal ans=new BigDecimal("0");
    for(BigDecimal k=new BigDecimal("0");k.compareTo(new BigDecimal("2000"))<=0;k=k.add(new BigDecimal("1"))){


    BigDecimal num=fact(k.multiply(new BigDecimal("4")));
    num=num.multiply(new BigDecimal("1103").add(k.multiply(new BigDecimal("26390"))));
    BigDecimal den=fact(k).pow(4);
            den=den.multiply(new BigDecimal("396").pow(k.multiply(new BigDecimal("4")).intValueExact()));
    ans=ans.add(num.divide(den,mc));



    }
    ans=new BigDecimal("1").divide(ans,mc);
    System.out.println(ans);

}
public static BigDecimal fact(BigDecimal n){
    BigDecimal fact=new BigDecimal("1");
    for(BigDecimal x=new BigDecimal("2");n.compareTo(x)>=0;x=x.add(new BigDecimal("1"))){
        fact=fact.multiply(x);
    }
    return fact;

}

 } …
Run Code Online (Sandbox Code Playgroud)

java algorithm pi bigdecimal

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

标签 统计

java ×2

algorithm ×1

bigdecimal ×1

dropbox ×1

dropbox-api ×1

multithreading ×1

pi ×1