2014-10-27 45 views
0

我很難寫這個程序。我對JAVA非常陌生,我有基本的理解。但我似乎無法理解它要求我做什麼。循環和文件統計Java程序

import java.text.DecimalFormat; 
import java.util.Scanner;  
import java.io.*;   

public class StatsDemo 
{ 
    public static void main(String [] args) throws IOException 
    { 
     double sum = 0; 
     int count = 0; 
     double mean = 0; 
     double stdDev = 0; 
     String line; 
     double difference; //difference between the value and the mean 

     DecimalFormat threeDecimals = new DecimalFormat("0.000"); 
     Scanner keyboard = new Scanner (System.in); 
     String filename; 

     System.out.println("This program calculates statistics" 
      + "on a file containing a series of numbers"); 
     System.out.print("Enter the file name: "); 
     filename = keyboard.nextLine(); 

這裏是一些從Number.txt這行程序應該讀取的行。

87.5517 
72.14015 
88.24248 
60.524 
65.38684 
94.48039 
84.73287 
84.74978 
73.78996 
+0

你的具體問題是什麼?你只是說明你的家庭作業。 – tomishomo 2014-10-27 19:58:53

+0

我遇到了任務4和5的麻煩。我想知道是否有人能告訴我爲什麼我寫的是錯的,我需要做什麼。 – James 2014-10-27 20:05:15

回答

1
  • 你被要求在評論中使用FileReader。你爲什麼使用PrintWriter?一個用於輸入(從文件讀取),另一個用於輸出(寫入文件)。
  • 您在任務#5中正確完成了「啓動」和while循環。你爲什麼不在第4項任務中做同樣的事情?那裏沒有名爲inputFile的變量。
  • 在這兩種情況下,關閉閱讀器,而不是後面的文件。它會自動關閉它後面的文件。
  • 爲了打印正確的小數位數,您必須使用您提供的threeDecimals對象。它是DecimalFormat類型。您通過使用threeDecimals.format(number)來格式化字符串。

一般來說,所有標準類型中可用的所有方法都在Java SE API Documentation中。

+0

我做了調整。但仍然有關於BufferedReader的錯誤 – James 2014-10-27 20:30:09

+0

您使用了'File',而不是'FileReader'。 – RealSkeptic 2014-10-27 20:30:58

+0

我已經改變了任務4和5,我不再有錯誤。但是現在我從之前的任務3中得到一個錯誤。它說行file.print(「Mean =」+ mean +「; S.D. =」+ stdDev);找不到標誌。 – James 2014-10-27 20:58:45