如何使用BigInteger?

我有这段代码,它不起作用:


BigInteger sum = BigInteger.valueOf(0);

for(int i = 2; i < 5000; i++) {

    if (isPrim(i)) {

        sum.add(BigInteger.valueOf(i));

    }

}

sum变量始终为0。我在做什么错?


炎炎设计
浏览 661回答 3
3回答

千万里不及你

BigInteger是一成不变的。javadocs指出add() “ [r返回一个值为(this + val)的BigInteger。” 因此,您不能更改sum,您需要将add方法的结果重新分配给sum变量。sum = sum.add(BigInteger.valueOf(i));

繁花如伊

sum = sum.add(BigInteger.valueOf(i))该BigInteger班是不可改变的,因此你不能改变其状态。因此,调用“ add”会创建一个new BigInteger,而不是修改当前值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java