高中需要帮助;将输出写入文件(使用远距离程序)? [英] Highschool needing help please; writing output to a file (using the distance traveled program)?

查看:52
本文介绍了高中需要帮助;将输出写入文件(使用远距离程序)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以帮我解决下面的代码吗?我已经为此工作了几个小时,无论我做什么,似乎都无法将我的输出写到文件中.我是一名高中生,曾向我的老师寻求帮助,但她给我寄来的书并没有帮助,现在我完全不知所措.我自己独立上这门课,所以希望来自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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆