And*_*ann 2 java math biginteger
我有一个for带BigIntegers 的循环,如下所示:
for(BigInteger a = BigInteger.valueOf(1); a.compareTo(someBigInteger); ++a) {...
Run Code Online (Sandbox Code Playgroud)
显然我不能++在非原语上使用运算符.我该如何解决这个问题?
此外,我必须BigInteger在这种情况下使用.
++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)