提问人:Kornusiap 提问时间:11/13/2023 最后编辑:SörenKornusiap 更新时间:11/13/2023 访问量:59
java 中的大数之和 [duplicate]
Sum of large numbers in java [duplicate]
问:
import java.util.Scanner;
import java.math.BigInteger;
public class LargeSum {
public static void main(String[] args) {
Scanner inp=new Scanner(System.in);
int limit=inp.nextInt();
BigInteger[] arr=new BigInteger[limit];
for (int i=0; i<limit; i++)
arr[i]=new BigInteger(inp.nextLine()); //runtime error
BigInteger sum=new BigInteger(String.valueOf(arr[0]));
for (int i=1; i<limit;i++)
sum=sum.add(arr[i]);
}
}
我编写了一个代码来使用 BigInteger 类在 java 中查找用户给定数量的大数字的总和,但我遇到了运行时错误“java.lang.NumberFormatException:零长度 BigInteger”。如何解决此问题?
输入样本:
5
37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
74324986199524741059474233309513058123726617309629
91942213363574161572522430563301811072406154908250
23067588207539346171171980310421047513778063246676
答:
0赞
Reilas
11/13/2023
#1
首先前进到下一行。
int limit=inp.nextInt();
inp.nextLine();
或者,使用 Integer#parseInt 方法。
int limit=Integer.parseInt(inp.nextLine());
输出
5
37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
74324986199524741059474233309513058123726617309629
91942213363574161572522430563301811072406154908250
23067588207539346171171980310421047513778063246676
272819012982030361314614767301043585006837989465343
下一个:让用户输入整数
评论
main()