2016-11-25 17 views
0

processFileというメソッドを作成し、メインから作成したファイルの名前( "scores.rtf")を渡します。 processFileで、BufferedReaderを設定し、ファイルをループして各スコアを読み取ります。スコアを整数に変換して追加し、平均を計算して表示します。私はこれをして、私のコードが実行されます。唯一の問題は私のコードが平均を計算しないことです。どんな考え?ここでファイルからグレードを読む

は私が生成されたコードです:

import java.io.*; 

public class ReadTheCode { 

private static double total = 0; 
private static int totalLines = 0; 


public static void main(String[] args) throws IOException, FileNotFoundException { 
    String pathToFile = "scores.rtf"; 
    processFile(pathToFile); 

} 

public static void processFile(String pathToFile) throws IOException, FileNotFoundException { 
    try(BufferedReader br = new BufferedReader(new FileReader(pathToFile))){ 
     BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(pathToFile))); 
     String line = br.readLine(); 
     while (line != null) { 
      double value = Double.parseDouble(line); 
      total = value + total; 
      totalLines = totalLines + 1; 
      System.out.println(value + "%"); 
      line = br.readLine(); 
     } 
     inputReader.close(); 
    } 
} 
} 
+4

「 "Scores.txt"」を文字列として使用することを意味しますか? –

+0

あなたのメソッドは 'pathToFile'パラメータをまったく利用していません。 – Berger

+0

このコードはコンパイルされません。 –

答えて

2

いくつかは、あなたのメインの方法では、私はあなたがこれを行うためのものと考えています。

String pathToFile = "Scores.txt"; 

通知には引用符が含まれています。これにより、文字列リテラルになります。あなたのprocessFile方法でも

変更

BufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(pathToFile))); 

その方法には、このラインBufferedReader inputReader = new BufferedReader(new InputStreamReader(new FileInputStream(Scores.txt)));

あなたがあなたのmainメソッドから渡されたパラメータを参照しています。

私はあなたがどこにも宣言していない2つの変数を参照していることに気付きました。 TotalおよびTotalLinesです。あなたのコードをすべて表示しているかどうかはわかりません。私たちにあなたのコードをすべて示したら、それらの変数をどこかに宣言してください。 public class ReadTheCode {

変数を宣言して初期化します。静的メソッドでアクセスできるように静的にもなります。変数は小文字で始める必要があるので、Javaの命名規則を調べることをお勧めします。

private static double Total = 0; 
private static int TotalLines = 0; 
+0

「try(BufferedReader br = new BufferedReader(new FileReader(Scores.txt))){}」というコードは、 "Scores.txt"の部分を "pathToFile"に変更しようとしましたが、それはうまくいかず、何が問題なのでしょうか? – Lexi

+0

不正確なことはどういう意味ですか?コンパイルや実行中にエラーが発生していますか? – Austin

+0

これは完璧にコンパイルされますが、実行されません。 – Lexi

関連する問題