Java 如何将字符串转换为bigInteger并存储在hashset中?

Java 如何将字符串转换为bigInteger并存储在hashset中?,java,Java,我取了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 { publi

我取了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()); 
     } 
} 
import java.io.*;
导入java.util.*;
导入java.text.*;
导入java.math.*;
导入java.util.regex.*;
类ex{
公共静态void main(字符串[]args){
Scanner in=新扫描仪(System.in);int n=in.nextInt();
HashSet hs=新的HashSet();
对于(int i=0;i使用.next()中的
而不是.nextLine()中的
,并且不要忘记关闭
中的
扫描仪
对象

以下是完整的
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();
}
publicstaticvoidmain(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
int n=in.nextInt();
HashSet hs=新的HashSet();
对于(int i=0;i
所以它不是一个留言板,你不应该试图在它自己的评论中解释你的问题(当然也不要试图在那里添加代码)。相反,你的问题是为了让它更好。