Tôi đang cố gắng đọc một số con số thực sự lớn từ đầu vào chuẩn và cộng chúng lại với nhau.
Tuy nhiên, để thêm vào BigInteger, tôi cần sử dụng 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)));
}
Điều đó hoạt động tốt, nhưng vì BigInteger.valueOf()
chỉ mất a long
, tôi không thể thêm các số lớn hơn long
giá trị tối đa của (9223372036854775807).
Bất cứ khi nào tôi cố gắng thêm 9223372036854775808 trở lên, tôi sẽ nhận được NumberFormatException (hoàn toàn được mong đợi).
Có một cái gì đó giống như BigInteger.parseBigInteger(String)
?