如何使用BigInteger?
2022-08-31 07:29:27
我有这段代码,它不起作用:
BigInteger sum = BigInteger.valueOf(0);
for(int i = 2; i < 5000; i++) {
if (isPrim(i)) {
sum.add(BigInteger.valueOf(i));
}
}
总和变量始终为 0。我做错了什么?
我有这段代码,它不起作用:
BigInteger sum = BigInteger.valueOf(0);
for(int i = 2; i < 5000; i++) {
if (isPrim(i)) {
sum.add(BigInteger.valueOf(i));
}
}
总和变量始终为 0。我做错了什么?
BigInteger
是不可变的。javadocs 指出 add() “[r]eturns 一个值为 (this + val) 的大Integer。因此,您无法更改 ,您需要将方法的结果重新分配给变量。sum
add
sum
sum = sum.add(BigInteger.valueOf(i));
sum = sum.add(BigInteger.valueOf(i))
该类是不可变的,因此您无法更改其状态。因此,调用“add”会创建一个新的,而不是修改当前。BigInteger
BigInteger