我想知道如何使用 java dropbox api 将多个文件上传到 dropbox。我想知道这一点,因为目前,当我想上传文件夹时,我会递归地遍历文件夹中的每个文件并逐个上传它们。但是,我发现这太慢了。所以,我想我可以一次性上传一个文件夹中的所有文件。但是,我该怎么做呢?我应该创建 n 个线程并且每个线程上传一个文件还是什么?
我在网上搜索了一个能够以有效的方式计算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)