【发布时间】:2017-03-28 17:57:55
【问题描述】:
我目前有一个如下所示的文本文件:
Bob Peach 1000 115
Hugh Mungus 1001 250
Joe Bloggs 1003 555
Joe Walsh 1004 6
Ben Davis 1005 1
我需要读取最后一组数字,将它们相加,然后将答案输出到单独的文本文件中。我该怎么办?
编辑:预期结果应该是输出文件中的字符串,如下所示:
There are currently 927 points.
编辑 2:很抱歉没有更好地解释它,但我现在已经修改了使用实际名称而不是占位符的虚拟文件的外观。如您所见,最后一组数字之前的字符数量并不总是相同。
编辑 3:这是我在等待回复时尝试过的,通常是我认为它应该工作的方式。
public void processFiles()
{
total = 0;
while(input.hasNextInt())
{
input.nextInt();
total = total + input.nextInt();
input.nextLine();
}
output.print("There are all together " +
total + " points.");
}
然而,上面的代码只是输出有 0 分。
编辑 4:
public void processFiles()
{
total = 0;
while(input.hasNext())
{
String line = input.nextLine();
String[] splitLine = line.split(" ");
total += Integer.parseInt(splitLine[splitLine.length - 1]);
}
output.print("There are all together " +
total + " points.");
}
【问题讨论】:
-
你应该发布你的预期结果,到目前为止你尝试了什么?
-
我目前在砖墙上,但我尝试使用 Scanner.nextInt() 将其定向到第一组数字,但从那里我无法弄清楚如何使用它最后一组。
-
再次调用 Scanner.nextInt() 即可。
-
你是什么意思,phatfingers?我现在已经包含了我的解释。
-
@Dacnomaniac 砖墙比混凝土好 ;-) 你试过我的解决方案了吗? (顺便说一句,这和罗杰提议的差不多……)