Ich versuche, einige wirklich große Zahlen aus der Standardeingabe zu lesen und sie zu addieren.
Um BigInteger hinzuzufügen, muss ich jedoch Folgendes verwenden 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)));
}
Das funktioniert gut, aber da das BigInteger.valueOf()
einzige a ist long
, kann ich keine Zahlen hinzufügen, die größer als long
der Maximalwert sind (9223372036854775807).
Immer wenn ich versuche, 9223372036854775808 oder mehr hinzuzufügen, erhalte ich eine NumberFormatException (was vollständig erwartet wird).
Gibt es so etwas BigInteger.parseBigInteger(String)
?