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" 时,您应该始终包含编译器错误消息或堆栈跟踪。
这是我的代码:
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" 时,您应该始终包含编译器错误消息或堆栈跟踪。