如何在Java中"预先增加"BigInteger?

And*_*ann 2 java math biginteger

我有一个forBigIntegers 的循环,如下所示:

for(BigInteger a = BigInteger.valueOf(1); a.compareTo(someBigInteger); ++a) {...
Run Code Online (Sandbox Code Playgroud)

显然我不能++在非原语上使用运算符.我该如何解决这个问题?

此外,我必须BigInteger在这种情况下使用.

Mur*_*nik 8

++a是一个前缀增量,而不是一个后缀增量,但在for循环的上下文中它并不重要,因为你无论如何都忽略了该语句的返回值.无论如何,可以通过调用来实现此功能BigInteger.add.另请注意,compareTo返回an int,并且由于Java在ints和booleans 之间没有隐式转换(例如,C确实如此),您必须将其结果与0进行比较以查看是否a更小,更大或等于someBigInteger:

for (BigInteger a = BigInteger.ONE; 
     a.compareTo(someBigInteger) < 0; 
     a = a.add(BigInteger.ONE)) {...
Run Code Online (Sandbox Code Playgroud)