Dato l'input seguente:Come assegnare un numero molto grande a BigInteger?
4534534534564657652349234230947234723947234234823048230957349573209483057
1232400
Ho tentato di assegnare questi valori BigInteger
nel modo seguente.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger num1 = BigInteger.valueOf(sc.nextLong());
sc.nextLine();
BigInteger num2 = BigInteger.valueOf(sc.nextLong());
BigInteger additionTotal = num1.add(num2);
BigInteger multiplyTotal = num1.multiply(num2);
System.out.println(additionTotal);
System.out.println(multiplyTotal);
}
Il primo valore è al di fuori dei confini di un numero lungo, e così ottengo la seguente eccezione:
Exception in thread java.util.InputMismatchException "principale": Per l'ingresso stringa : "4534534534564657652349234230947234723947234234823048230957349573209483057"
ho pensato che BigInteger aspetta un tipo lungo per l'uso con valueOf()
metodo (come stat ed here). Come posso passare numeri estremamente grandi a BigInteger?