高中需要帮助;将输出写入文件(使用远距离程序)? [英] Highschool needing help please; writing output to a file (using the distance traveled program)?
问题描述
有人可以帮我解决下面的代码吗?我已经为此工作了几个小时,无论我做什么,似乎都无法将我的输出写到文件中.我是一名高中生,曾向我的老师寻求帮助,但她给我寄来的书并没有帮助,现在我完全不知所措.我自己独立上这门课,所以希望来自stackoverflow系列的人能为我提供一些指导吗?这不是因为我缺乏尝试.我无所适从.预先谢谢你!
Can anyone help me out with my code below? I have been working on this for hours and can't seem to get my output to write out to a file no matter what I do. I'm a high school student and asked my teacher for help, but what she sent me didn't help and I'm now at a complete loss. I'm taking this course independently on my own so hoping someone from the stackoverflow family could provide me some pointers? It's not from lack of trying on my part. I'm just at a loss. Thank you in advance!!
/**
*
*/
package distanceTraveledReport;
import java.util.Scanner;
import java.io.*;
/**
* @author Jerin
*
*/
public class DistanceTraveledReport {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//prints out name and project I am working on
System.out.println("Jerin Anderson, This is my Distance Traveled Report");
//create scanner
Scanner scanner = new Scanner(System.in);
double vehicleSpeed = -1; //to hold the speed from the vehicle
int hoursTraveled = 0; //to hold the hours traveled by the vehicle
double distanceTraveled; //to hold the distance traveled for each hour
//while loop, inputs validation
while ( vehicleSpeed < 0 )
{
System.out.println("Enter the speed of the vehicle (in miles-per-hour)" );
vehicleSpeed = scanner.nextDouble();
}
while (hoursTraveled < 1)
{
System.out.println("Enter the number of hours traveled by the vehicle" );
hoursTraveled = scanner.nextInt();
}
//heading at the top and lines to separate table
System.out.println(" Hour\t Distance Traveled");
System.out.println("---------------------------");
{
//write the table of distances
distanceTraveled = 1;
while (distanceTraveled <= hoursTraveled)
{
//Display the distance for this period.
System.out.println(distanceTraveled + "\t\t" + distanceTraveled * vehicleSpeed);
//Increment period
distanceTraveled++;
}
//Close the file.
System.out.close();
System.out.println("Report written to DistanceReport.txt");
}
}
}
推荐答案
您必须意识到 System.out.println()不会写入文件,但是FileWriter会写入.该代码的修复程序用//TODO
突出显示.
You must realize that System.out.println() does not write to a file, but FileWriter does. The fixes to the code are highlighted with //TODO
.
package distanceTraveledReport;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
/**
* @author Jerin
*
*/
public class DistanceTraveledReport {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO "TODO check this out" marks addition of FileWriter fileWriter.
//TODO check this out
//TODO make sure you change the filename
首先打开.txt文件的路径,因为当前路径不适用于您的文件(请参阅"cole.henrich/Downloads ...").
First open the path of the .txt file, because the current path is not for your file (see "cole.henrich/Downloads...").
然后复制绝对路径:
然后将其粘贴到FileWriter的参数中:.
Then paste it into the parameters of FileWriter: .
代码继续:
FileWriter fileWriter = new FileWriter("/Users/cole.henrich/Downloads/StackOverFlow/src/distanceTraveledReport/DistanceReport.txt");
fileWriter.write("The FileWriter writes to the file. System.out.println() does not.\n");
//prints out name and project I am working on
System.out.println("Jerin Anderson, This is my Distance Traveled Report");
//create scanner
Scanner scanner = new Scanner(System.in);
double vehicleSpeed = -1; //to hold the speed from the vehicle
int hoursTraveled = 0; //to hold the hours traveled by the vehicle
double distanceTraveled; //to hold the distance traveled for each hour
//while loop, inputs validation
while ( vehicleSpeed < 0 )
{
System.out.println("Enter the speed of the vehicle (in miles-per-hour)" );
vehicleSpeed = scanner.nextDouble();
}
while (hoursTraveled < 1)
{
System.out.println("Enter the number of hours traveled by the vehicle" );
hoursTraveled = scanner.nextInt();
}
//heading at the top and lines to separate table
System.out.println(" Hour\t Distance Traveled");
System.out.println("---------------------------");
{
//write the table of distances
distanceTraveled = 1;
while (distanceTraveled <= hoursTraveled)
{
//Display the distance for this period.
String display = ""+ (distanceTraveled + "\t\t" + distanceTraveled * vehicleSpeed) + "\n";
System.out.println(display);
//TODO check this out
fileWriter.write(display);
//Increment period
distanceTraveled++;
}
//Close the file.
//TODO check this out
fileWriter.close();
//TODO check this out: DO NOT close the System.out. Close FileWriter fileWriter.
System.out.println("Report written to DistanceReport.txt");
}
}
}
确保您了解FileWriter.阅读评论中的链接.这是您的输出,位于文件(不是System.out)中.
Make sure you understand FileWriter. Read the links in the comments. Here is your output, in the file (not System.out).
The FileWriter writes to the file. System.out.println() does not.
1.0 65.0
2.0 130.0
3.0 195.0
4.0 260.0
5.0 325.0
6.0 390.0
7.0 455.0
这篇关于高中需要帮助;将输出写入文件(使用远距离程序)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!