这是我的代码:
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);
}
我想从文本文档中读取,从字符串转换为大整数,我试过这个但是我得到一个运行时错误,如何将String转换为相应的大整数Ascii值。
答案 0 :(得分:11)
您的问题非常简单:您从空字符串构建BigInteger!
您正在循环直到 currentLine null 。
之后你试图从中创建一个BigInteger!
只需将移动到循环中:
while((currentLine=br.readLine())!=null) {
System.out.println(currentLine);
BigInteger a = new BigInteger(currentline);
System.out.println(a);
}
事情正在发挥作用(假设您希望文件中的每一行都是一个数字)。如果整个文件代表一个数字,那么你必须按照zstring在他的评论中建议:你必须使用StringBuilder例如将所有行“收集”到单个然后用于创建BigInteger对象的字符串。
请注意java编码样式:类名称以大写字母开头;和变量名使用camelCase(因此我改为currentLine
)。
但仅仅是为了记录:你写了一个低质量的问题。在询问“为什么我的代码不能正常工作”时,您应该始终包含编译器错误消息或堆栈跟踪。