Я пытаюсь прочитать некоторые действительно большие числа из стандартного ввода и добавлять их вместе.
Однако, чтобы добавить в 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
max значение (9223372036854775807).
Всякий раз, когда я пытаюсь добавить 9223372036854775808 или более, я получаю исключение NumberFormatException (что вполне ожидаемо).
Есть ли что-то вроде BigInteger.parseBigInteger(String)
?