[英]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.