# BigInteger (long) has private access to BigInteger

I am trying to store a large calculation in a BigInteger instance. I've tried this:

```
BigInteger answer=new BigInteger(2+3);
```

and got the following error:

```
temp.java:17: error: BigInteger(long) has private access in BigInteger
BigInteger answer=new BigInteger(2+3);
^
1 error
```

I know there should be a string value instead of "2 + 3". But I don't know how to satisfy this condition (assuming I don't know how many 2 + 3 are). Tell me how to assign a computed value to a BigInteger object (assign the answer 2 + 3 BigInteger).

source to share

If you want to do arithmetic with `BigInteger`

, you must create `BigInteger`

for each value and then use `BigInteger.add`

. However, you don't need to use strings for this. You might want if your input is already a string, and might be long, but if you already have one `long`

, you can use `BigInteger.valueOf`

. For example:

```
BigInteger answer = BigInteger.valueOf(2).add(BigInteger.valueOf(3));
```

I certainly wouldn't convert to `long`

in `String`

order to pass it to the constructor `BigInteger`

.

source to share