Java 中的字符串到 BigInteger

String to BigInteger in Java

这是我的代码:

public class sample {
   public static void main(String []args) throws Exception {

      System.out.println("Enter from file:");

      BufferedReader br=new BufferedReader(new FileReader("C:\Users\KK\A Key.txt"));

      String currentline;

      while((currentline=br.readLine())!=null){

         System.out.println(currentline);
      }

      BigInteger a = new BigInteger(currentline); 

      System.out.println(a);

  }

我想从文本文档中读取,将其从字符串转换为大整数,我试过了,但出现了 运行 时间错误,如何将字符串转换为相应的大整数 Ascii 值。

您的问题很简单:您从一个空字符串构建了一个 BigInteger!

您正在循环直到 currentLine 为null

之后 你尝试从中创建一个 BigInteger!

只需将内容移动到你的循环中:

while((currentLine=br.readLine())!=null) {           
 System.out.println(currentLine);
 BigInteger a = new BigInteger(currentline); 
 System.out.println(a);
}

Et voilà,一切正常(假设您希望文件中的每一行都是一个数字)。如果整个文件代表 one 数字,那么您必须按照 zstring 在他的评论中建议的那样做:例如,您必须使用 StringBuilder 将所有行 "collect" 转换为 single 字符串,然后用于创建 BigInteger 对象。

请注意 java 编码风格:class 名称以大写开头;变量名使用驼峰式命名(因此我改为 currentLine)。

但郑重声明:你写了一个低质量的问题。在询问 "why is my code not working" 时,您应该始终包含编译器错误消息或堆栈跟踪。