2016-03-30 12 views
0

ile birlikte ekliyorum Skor.txt dosyasımda 20 sayı ortalaması elde etmeye çalışıyorum, ancak nasıl yapacağımı anlayamıyorum. Her denediğimde, çıktılarım berbat olur. Düşünceler?Numaraları BufferedReader

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

    String file ="/Users/vienna01pd2016/Desktop/scores/src/scores/scores.txt"; 
    processFile("/Users/vienna01pd2016/Desktop/scores/src/scores/scores.txt"); 
    //calls method processFile 
    } 


    public static void processFile (String file) 
    throws IOException, FileNotFoundException{ 
    String line; 
    //lines is declared as a string 


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

    while ((line = inputReader.readLine()) != null){ 

     //System.out.println(line); 
     double Value = Double.parseDouble(line); 
    System.out.println(Value); 
+0

Ne dağınıklık ne anlama geliyor? Programın çıktısını ve – Harshit

+0

dosya girişini gönderebilir misiniz? Bu, alıyorum çıkışımdır ... 0 1 "main" dizisinde istisna java.lang.RuntimeException: Tamamlanmamış kaynak kodu - BigInteger (uzun) özel erişim özelliğine sahiptir bigintegerfactorial.BigIntegerFactorial.factorial de java.math.BigInteger \t (BigIntegerFactorial.java:38) bigintegerfactorial.BigIntegerFactorial.main de \t (BigIntegerFactorial.java:15) /Users/vienna01pd2016/Library/Caches/NetBeans/8.1/ içinde executor-snippets/run.xml: 53: Java geri döndü: 1 BİNA BAŞARISIZ (toplam süre: 10 saniye –

+0

bir EXCEPTION ve bir çıkış değil. BigIntegerFactorial.java:38 bu sorunun nerede olduğunu gösterir, satır numarasını 38 BigIntegerFactorial.java – Harshit

cevap

0

her satırda bir numara varsa, ben, BufferedReader kullanarak her satır okumak bir sayıya ekleme de bir liste içinde vereceğini, o zaman sayıların miktarına göre toplam bölebilirsiniz listeden:

package Testers; 

import java.io.BufferedReader; 
import java.io.File; 
import java.io.IOException; 
import java.io.FileReader; 
import java.util.ArrayList; 

public class MeanGetter { 

    public static ArrayList<Double> ls = new ArrayList<Double>(); 

    public static void main(String[] args){ 
     String filepath = "/Users/vienna01pd2016/Desktop/scores/src/scores/scores.txt"; 
     double total = processFile(/*new File(filepath).getAbsolutePath()*/ filepath); 
     double mean = total/ls.size(); 
     System.out.println("mean: " + mean); 
    } 

    private static double processFile(String path) { 
     double n = 0; 
     try { 
      BufferedReader reader = new BufferedReader(new FileReader(new File(path))); 
      String line; 
      while ((line = reader.readLine()) != null){ 
       double d = Double.parseDouble(line); 
       n = n + d; 
       ls.add(d); 
      } 
      reader.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return 0; 


    } 

} 
+0

Uygulamanız score.txt ile aynı konumda çalıştırılıyorsa, yeni dosya (score.txt) .getAbsolutePath(); – JD9999