我正在尝试将偶数数字从input.txt文件打印到display.txt输出文件。每当我将输出发送到输出控制台作为测试时,它都可以完美运行。它显示偶数。每当我使用打印流并将其发送到文件时,它只会打印出最后一个偶数。
我已经研究并问了我的教授,谁说他们不知道出什么问题了。
printf
预期的输出是display.txt文件中的所有偶数。文件中仅打印最后一个。
答案 0 :(得分:4)
这是因为您要在PrintStream
循环的每个循环中实例化while
,所以要在开始while循环之前实例化PrintStream output = new PrintStream(new File("display.txt"));
。
例如:
// More code
PrintStream output = new PrintStream(new File("display.txt"));
while (inputfile.hasNext())
{
if (inputfile.hasNextInt())
{
int next = inputfile.nextInt();
int even = (next % 2);
if (even == 0)
{
output.println(next);
System.out.println(next);
count++;
}
}
else
{
inputfile.next();
continue;
}
}
// More code