打印到文件
Printing to a file
我正在尝试将偶数从 input.txt 文件打印到 display.txt 输出文件。每当我将输出作为测试发送到输出控制台时,它都能完美运行。它显示偶数。每当我使用打印流并将其发送到文件时,它只会打印出最后一个偶数。
我研究过并问过我的教授,教授说他们不知道哪里出了问题。
Scanner inputfile=new Scanner(new File("input.txt"));
double sum=0.0;
int count=0;
while (inputfile.hasNext())
{
if(inputfile.hasNextInt())
{
int next=inputfile.nextInt();
int even=(next%2);
if(even==0)
{
PrintStream output=new PrintStream(new File("display.txt"));
output.println(next);
System.out.println(next);
count++;
}
}
else
{
inputfile.next();
continue;
}
}
if(count>0)
{
inputfile.close();
}
else
{
System.out.println("The file doesn't contain any integers. Exit
Program");
}
display.txt 文件的预期输出都是偶数。文件中只打印最后一个。
这是因为您要在 while
循环的每个循环中实例化 PrintStream
,您想在 之前实例化 PrintStream output = new PrintStream(new File("display.txt"));
开始你的 while 循环。
例如:
// 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
我正在尝试将偶数从 input.txt 文件打印到 display.txt 输出文件。每当我将输出作为测试发送到输出控制台时,它都能完美运行。它显示偶数。每当我使用打印流并将其发送到文件时,它只会打印出最后一个偶数。
我研究过并问过我的教授,教授说他们不知道哪里出了问题。
Scanner inputfile=new Scanner(new File("input.txt"));
double sum=0.0;
int count=0;
while (inputfile.hasNext())
{
if(inputfile.hasNextInt())
{
int next=inputfile.nextInt();
int even=(next%2);
if(even==0)
{
PrintStream output=new PrintStream(new File("display.txt"));
output.println(next);
System.out.println(next);
count++;
}
}
else
{
inputfile.next();
continue;
}
}
if(count>0)
{
inputfile.close();
}
else
{
System.out.println("The file doesn't contain any integers. Exit
Program");
}
display.txt 文件的预期输出都是偶数。文件中只打印最后一个。
这是因为您要在 while
循环的每个循环中实例化 PrintStream
,您想在 之前实例化 PrintStream output = new PrintStream(new File("display.txt"));
开始你的 while 循环。
例如:
// 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