2017-12-06 12 views
0

私はtxtファイル(私は動作しています)で行を読み込もうとしていますが、 合計を検索しようとすると「合計はできません はdoubleに変換「私はこの 形式で動作するはずの例を見てきましたが、文字列をdouble aaaaaに変換することはできません

編集:私はDouble.parseDouble(入力)が、今私が手を追加」スレッド 『メイン』 java.lang.NumberFormatExceptionで例外: 「

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



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

    final String fileName = "classQuizzes.txt"; 
//1) 
    Scanner sc = new Scanner(new File(fileName)); 

    String input; 
    double total = 0; 
    double num = 0; 
    double count = 0; 
    double average = 0; 


//2) process rows  
      while (sc.hasNext()) { 
      input = sc.nextLine(); 
      System.out.println(input); 

    //format 2 decimal points 
      DecimalFormat form = new DecimalFormat("#0.##"); 



    //find total 
      total += Double.parseDouble(input); //compile error on using input 
      count++; 

      System.out.println(count); //test delete later 
    //find average (decimal 2 points) 
      System.out.println("hi"); 
      average = (double)total/count; 
      System.out.println("Average = " + average); 

//3) class statistics 


     } 
     System.out.println("Program created by MYNAME"); 
    } 
} 
+0

Double.parseDouble();でラッピング入力を試してください。 – user3298823

+0

あなたはsc.hasNext()に基づいてループしていますが、次にnextLine()を取得します。 sc.hasNext()をsc.hasNextLine()に変更して、あなたのチェックがあなたが読んでいるものと一行ずつ一致するようにする必要があります –

答えて

0

ライン

total += input; 

は、結果の文字列に、本質的

total = String.valueOf(total) + input; 

あなたは合計を設定することはできません、ダブルと同じです。その行を次のように置き換えてください。

total += Double.parseDouble(input);