簡體   English   中英

BigInteger(長期)在BigInteger中擁有私人訪問權限

[英]BigInteger(long) has private access in BigInteger

我試圖在BigInteger實例中存儲一個大的計算。 我試過這個:

BigInteger answer=new BigInteger(2+3);

並得到以下錯誤:

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

我知道應該有一個字符串值而不是“2 + 3”。 但我不知道如何滿足這個條件(假設我沒有多少2 + 3)。 請告訴我如何為BigInteger對象分配計算值(將2 + 3分配給BigInteger答案)。

如果要使用BigInteger執行算術,則應為每個值創建一個BigInteger ,然后使用BigInteger.add 但是,你並不需要使用字符串來做到這一點。 如果您的輸入已經是一個字符串並且它可能很長,您可能想要,但如果您已經很long ,則可以使用BigInteger.valueOf 例如:

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

我當然不會將long轉換為String ,然后將其傳遞給BigInteger構造函數。

你可以使用BigInteger的add(...)方法:

BigInteger answer = new BigInteger("2").add(new BigInteger("3"));

不用擔心這個解決方案會溢出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM