当前位置: 首页 > 知识库问答 >
问题:

高中需要帮助请;是否将输出写入文件(使用“行驶距离”程序)?[闭门]

白光耀
2023-03-14

有人能帮我完成下面的代码吗?我已经为此工作了几个小时,无论我做什么,似乎都无法将输出写入文件。我是一名高中生,向我的老师寻求帮助,但她寄给我的东西没有帮助,我现在完全不知所措。我自己独立学习这门课程,希望stackoverflow家族的人能给我一些建议?这不是因为我没有尝试。我只是不知所措。提前谢谢你!!

/**
 * 
 */
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");
    }

}
    
}

共有1个答案

秦飞航
2023-03-14

您必须认识到System.out.println()不会写入文件,但FileWriter会写入。代码的修复用//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…”)。

然后复制绝对路径:

守则接着说:

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)。

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
 类似资料:
  • 我需要计算汽车行驶的距离!不是距离,不是距离到否。如果我们通过谷歌提供的API计算,距离可以完全不同。谷歌可以提供从一个点到另一个点的1公里距离,但汽车可以按照骑手想要的方式行驶800米。使用加速计没有帮助。它适用于步行,但绝不适用于更快的速度。 我尝试过使用Google的位置API:距离到或距离之间根本不是一个选项。它可以给出与IN REAL截然不同的结果。在真实的汽车中,可以通过非常短的地方并

  • 对于接受文件输入的APIendpoint,我们需要手动关闭还是框架为我们这样做? 我查了新泽西的文件,但找不到任何关于它的信息。 寻找可靠的来源或某种方式来验证它。

  • 我想创建一个网页,允许用户输入值,然后发送到192.168。1.101:8081通过GET请求。 我知道有语法错误。因为我对html和javascript一无所知,只懂基本的php,所以请原谅。 因此,当点击“发送”按钮时,192.168。1.101:8081将从网页中的输入接收一个值。怎样请帮忙。谢谢

  • 我想深入了解Jmeter输出。 > 我对吞吐量率的概念感到困惑。这是否意味着服务器在给定负载下只能处理48.1个请求/分钟,还是意味着其他什么。总吞吐量速率和单个请求显示的吞吐量速率之间的差异是什么。在我的情况下,发送了8个请求,单个请求显示吞吐量为6.1/min。请解释一下。 我需要建议服务器端的任何更改/解释jmeter报告,请建议我如何解释需要做什么。 总的总结报告如下: 总用户: 100上

  • 我正在尝试创建一个文字游戏,它可以对一个单词进行加密,并根据用户输入的内容将字符移位一定的数字,解密加密,并检查该单词是否为回文。问题是我不知道如何保持输入,所以在我加密或检查它是否为回文后,程序结束,因此我无法解密加密的内容。 例如,如果用户输入单词“hello”并选择加密该单词,密钥为3,则应显示“khoor”。然后,我希望能够通过将“khor”解密回“hello”来继续,但程序结束。 此外,

  • 我目前正在开发一个专注于健身的应用程序。我的基本想法是允许人们跟踪他们的速度、距离和时间。到目前为止,我已经通过使用位置管理器getSpeed()设法获得了速度。我想知道如何获得旅行的距离?我寻找了一些示例,但对我来说有点困惑,因为我刚刚开始使用android。我将感谢任何帮助或建议,谢谢