我接受了n字符串然后我将其转换为BIgInteger之后我将其存储到HashSet但它显示运行时错误 线程“main”中的异常java.lang.NumberFormatException:零长度BigInteger
我的代码是:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
class ex {
public static void main(String[] args) {
Scanner in = new Scanner(System.in); int n = in.nextInt();
HashSet<BigInteger> hs=new HashSet<BigInteger>();
for(int i=0;i<n;i++) {
String str=in.nextLine();
BigInteger bi=new BigInteger(str);
hs.add(bi);
}
Iterator itr=hs.iterator();
while(itr.hasNext())
System.out.println(itr.next());
}
}
答案 0 :(得分:1)
使用in.next()
代替in.nextLine()
,不要忘记关闭Scanner
对象in
。
这是完整的main
方法:
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n = in.nextInt();
HashSet<BigInteger> hs = new HashSet<BigInteger>();
for (int i = 0; i < n; i++) {
String str = in.next();
BigInteger bi = new BigInteger(str);
hs.add(bi);
}
Iterator<BigInteger> itr = hs.iterator();
while (itr.hasNext())
System.out.println(itr.next());
in.close();
}