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を正しく使用していない可能性がありますか? 誰かがエラーを修正する方法に関する提案はありますか? ありがとうございました!
を削除し、私はそれを逃したか知らないが、それは修正しました。ありがとう!! –