【发布时间】:2015-06-20 17:09:12
【问题描述】:
给定以下输入:
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);
}
第一个值超出了 Long 数字的边界,因此出现以下异常:
线程“主”java.util.InputMismatchException 中的异常:对于输入 细绳: “4534534534564657652349234230947234723947234234823048230957349573209483057”
我假设 BigInteger 期望 Long 类型与 valueOf() 方法一起使用(如 here 所述)。如何将极大的数字传递给 BigInteger?
【问题讨论】:
标签: java biginteger value-of