我仍然对为什么该程序无法产生我期望的结果感到困惑

我仍然不知道为什么这个程序不计算并给出我认为会的结果。


我正在尝试使用PrintWriter类的实例将用户在for循环中指定的几个浮点值写入用户命名为Numbers.txt的文本文件中。


然后,我创建了Scanner类的一个对象inputFile,并使用hasNext方法在while循环中读取这些值,在其中计算它们并将结果分配给total变量;一个初始化为0.0的累加器。


但是,总变量的值仍为0.0,而不是文件中这些浮点值的累加。


我是Java的新手,尤其是Java的新手,所以请有人帮我确定问题出在哪里,以及如何修复它以获得所需的结果。


提前致谢!以下是我编写的代码部分:


public class FileSum {

   public static void main(String[] args) throws IOException {

      double individualValues, total = 0.0; // total is an accumulator to store the sum of the values specified in Numbers.txt, thus it must be initialized to 0.0

      int numberOfValues;

    

      Scanner kb = new Scanner(System.in);

    

      System.out.print("enter the file name: ");

      String fileName = kb.nextLine();

    

      System.out.print("enter the number of floating-point values in the file: ");

      numberOfValues = kb.nextInt();

    

      PrintWriter outputFile = new PrintWriter(fileName);

    

      for(int i = 1; i <= numberOfValues; i++) {

          System.out.print("the floating-point value number " + i + ": ");

          individualValues = kb.nextDouble();

          outputFile.println(individualValues);

      }

    

      File file = new File(fileName);

      Scanner inputFile = new Scanner(file);

    

      while(inputFile.hasNext()) {

          individualValues = inputFile.nextDouble();

          total = total + individualValues;

      }

    

      inputFile.close();

      outputFile.close();

      kb.close();

    

      System.out.println("the total values in Numbers.txt: " + total);

  }}

这是程序输出:


输入文件名:Numbers.txt


在文件中输入浮点值的数量:2


浮点值数字1:4.5


浮点数2:3.2


Numbers.txt中的总值:0.0


开心每一天1111
浏览 148回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java