除法java后修改biginteger

xfb7svmp  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(418)

我在这里看了很多遍,不太明白为什么这句话是错的:

ArrayList <BigInteger> data = new ArrayList();
int [] primes = new int[25];    
...
// Some initializing
...
data.get(i) = data.get(i).divide( BigInteger.valueOf( primes[place] ) ); //<----
...
// Rest of the code

必选:变量;找到:值。。我做错了什么?

t3psigkw

t3psigkw1#

= 仅用于指定变量、字段和数组元素。
你可能想打电话 set .

data.set(i, data.get(i).divide(...etc...));
sulc1iza

sulc1iza2#

首先,您应该修复原始类型(我更喜欢 List 接口)如

List<BigInteger> data = new ArrayList<>();

那你需要用 set 因为不能将 get 就像那样。

data.set(i, data.get(i).divide(BigInteger.valueOf(primes[place])));

另外,值得注意的是 BigInteger (s) 是(根据javadoc)不可变的任意精度整数。

相关问题