2017-10-19 11 views
0

"grades.txt"というファイルから読み込み、生徒の名前を3つ表示するプログラムを作成しています成績、およびこれらの3つの成績の平均。 テキストファイルは次のようになります。しかし (コードが動作する私が正しくファイルと出力のすべてから読み取ることができています。。)Java - ファイルからの読み込み - エラー "スレッド内の例外" main "java.util.NoSuchElementException:行が見つかりません"

import java.util.Scanner; // Needed for Scanner class. 
import java.io.*;   // Needed for I/O class. 

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

     // Open the file 
     File file = new File("Grades.txt"); 
     Scanner inputFile = new Scanner(file); 

     // Read lines from the file 
     while (inputFile.hasNext()) 
     { 
     String firstName = inputFile.next(); 
     String lastName = inputFile.next(); 
     double grade1 = inputFile.nextDouble(); 
     double grade2 = inputFile.nextDouble(); 
     double grade3 = inputFile.nextDouble(); 
     String nextLine = inputFile.nextLine(); 

     int total = (int)grade1 + (int)grade2 + (int)grade3; 
     int average = total/3; 


     System.out.println("Name: \t" + firstName + " " + lastName); 
     System.out.println("Test 1:\t" + grade1); 
     System.out.println("Test 2: \t" + grade2); 
     System.out.println("Test 3: \t" + grade3); 
     System.out.println(""); 
     System.out.println("Average: " + average); 

      if (average < 60) 
      System.out.println("Grade : \t F"); 

      else if (average < 70) 
      System.out.println("Grade : \t D"); 

      else if (average < 80) 
      System.out.println("Grade: \t C"); 

      else if (average <90) 
      System.out.println("Grade: \t B"); 

      else 
     System.out.println("Grade: \t A"); 

     System.out.println(""); 

     } 
     inputFile.close(); 
    } 
} 

:ここ

Bobby 
Doe 
65 
65 
65 

Billy 
Doe 
100 
100 
95 

James 
Doe 
85 
80 
90 

コードです、私はこのエラーが発生し続けていると私は分からない理由:

Exception in thread "main" java.util.NoSuchElementException: No line found 
at java.util.Scanner.nextLine(Scanner.java:1540) 
at TestScoresRead.main(TestScoresRead.java:21) 

私が行った研究から、私はnextLineからnextDoubleへ行くこととは関係があり、/ nはキーボードバッファーに詰まっています。 または、hasNextを正しく使用していない可能性がありますか? 誰かがエラーを修正する方法に関する提案はありますか? ありがとうございました!

答えて

0

このラインに

String nextLine = inputFile.nextLine(); 
+0

を削除し、私はそれを逃したか知らないが、それは修正しました。ありがとう!! –

関連する問題