我知道我可以使用它来生成它,Math.log(2)
但是当我尝试编写自己的程序来生成自然对数 2 时,它会连续打印 1。这是我的代码:
import java.math.BigDecimal;
import java.util.Scanner;
public class Ques11 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
BigDecimal sum = new BigDecimal(1);
for(int i = 2; i <= n; i++) {
sum.add(new BigDecimal(1/n));
}
System.out.print(sum.setScale(10).toPlainString());
}
}
我曾尝试使用float
,double
最后int
使用BigDecimal
了,但我仍然得到 1,结果我不知道为什么。
PS它实际上在给出大数字时抛出InputMismatchException
,即大于2000000000
或2 Billion
。