मैं मानक इनपुट से कुछ बहुत बड़ी संख्याओं को पढ़ने और उन्हें एक साथ जोड़ने की कोशिश कर रहा हूं।
हालाँकि, BigInteger में जोड़ने के लिए, मुझे उपयोग करने की आवश्यकता है BigInteger.valueOf(long);
:
private BigInteger sum = BigInteger.valueOf(0);
private void sum(String newNumber) {
// BigInteger is immutable, reassign the variable:
sum = sum.add(BigInteger.valueOf(Long.parseLong(newNumber)));
}
यह ठीक काम करता है, लेकिन BigInteger.valueOf()
केवल एक के रूप में long
, मैं संख्या को long
अधिकतम मूल्य (9223372036854747758080) से अधिक नहीं जोड़ सकता ।
जब भी मैं 922337203685474780808 या अधिक जोड़ने की कोशिश करता हूं, मुझे एक नंबरफ़ॉर्मैट अपवाद (जो पूरी तरह से अपेक्षित है) मिलता है।
क्या कुछ ऐसा है BigInteger.parseBigInteger(String)
?