public static void main(String[] args) {
BigDecimal fz = new BigDecimal(1);
for(int i=60;i<=70;i++){
BigDecimal fm = new BigDecimal(i);
BigDecimal div = fz.divide(fm, 3, BigDecimal.ROUND_HALF_UP);
System.out.println(div);
}
}
0.016
0.016
0.016
0.015
0.015
0.015
0.015
0.014
0.014
怎么把这些数累加呢
public static void main(String[] args) {
BigDecimal fz = new BigDecimal(1);
BigDecimal f = new BigDecimal(0);
for (int i = 1; i <= 10; i++) {
BigDecimal fm = new BigDecimal(i);
BigDecimal div = fz.divide(fm, 3, BigDecimal.ROUND_HALF_UP);
f = f.add(div);
System.out.println(div);
System.out.println(f);
}
}
题目是从1/60开始的,循环内部方法divide第一参数的取值是作为分母,也就是for循环的i要从60开始
@PottyHarry: 把for循环里的值改了就行了,这只是我做测试时写的,忘记改了。
楼主,使用BigDecimal的add()方法就可以将这些数给加起来,但是每个BigDecimal每次加减乘除都会返回一个新的BigDecial对象,所以需要用使用原来的对象去重新接收这个新的变量,代码如下:
BigDecimal bd = new BigDecimal(1);
BigDecimal result = new BigDecimal(0);
for (int i = 60;i<=70;i++){
//使用result重新接收相加的BigDecimal对象
result = result.add(bd.divide(new BigDecimal(i),3,BigDecimal.ROUND_HALF_UP));
}
System.out.println(result);