Учитывая следующий ввод:
4534534534564657652349234230947234723947234234823048230957349573209483057
12324000123123
Я попытался присвоить эти значения BigInteger
следующим образом.
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);
}
Первое значение выходит за границы длинного числа, поэтому я получаю следующее исключение:
Исключение в потоке "main" java.util.InputMismatchException: для входной строки: "4534534534564657652349234230947234723947234234823048230957349573209483057"
Я предположил, что BigInteger ожидает тип Long для использования с методом valueOf()
(как указано здесь). Как я могу передать очень большие числа в BigInteger?