Sto provando a leggere alcuni numeri veramente grandi da input standard e li aggiungo insieme.Come posso convertire una stringa in un BigInteger?
Tuttavia, da aggiungere al BigInteger, ho bisogno di utilizzare 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)));
}
Questo funziona bene, ma come l'BigInteger.valueOf()
richiede solo un long
, non posso aggiungere numeri maggiori di long
's valore massimo (9223372036854775807).
Ogni volta che si tenta di aggiungere 9223372036854775808 o più, ottengo un NumberFormatException (che è completamente previsto).
C'è qualcosa come BigInteger.parseBigInteger(String)
?