我正在尝试从.txt文件中的数字列表中进行一些大型计算。我需要使用long,特别是字面长,因此每次从文件中获取新值时,我需要在末尾包含“L”或“l”。 int litterals一直给我留下否定的答案......我每次读取文件时都尝试添加一个'L'后缀但Long.valueOf()会抛出一个NumberFormatException。如何将解析后的long声明为文字长?
import java.util.*;
import java.io.*;
public class Test{
public static void main(String[] args) throws FileNotFoundException{
File numFile = new File("numbers.txt");
Scanner in = new Scanner(numFile);
int total = 0;
Long tmp;
while(in.hasNextLine()){
tmp = Long.valueOf(in.nextLine().substring(0,12));
System.out.println(tmp);
total += tmp;
}
}
我很欣赏这里的所有帮助,但你们都忽略了我的问题......我的问题是:我怎样才能将解析后的long声明为长文字?(考虑到我从不硬连接一个值)。上面的例子是无关的,它不需要调试,它只是我想要做的简短演示。
答案 0 :(得分:2)
如果单个数字对于int
来说太大,那么它们的总和也是如此。还可以使用long
作为总数。