用Java读取整数文本文件的无限循环

Q L*_*Liu 0 java infinite-loop while-loop

嗨,我有一个相当简单的程序,但我无法理解为什么我在运行时有一个inifite循环.我正在读取的文件中有10个整数.我正在使用Eclipse Juno,并且控制台中的输出无限地从281363开始计数.我怎样才能解决这个问题?提前致谢.

import java.util.*;
import java.io.*;

public class TestScoreAnalyzer
{
public static void main(String[] args) throws FileNotFoundException
{
        int arraySize = 0;

        File file = new File("C:\\Users\\Quinn\\workspace\\CPS121\\src\\
                             additionalAssignments\\scoresSample.txt");
    Scanner inputFile = new Scanner(file);

        while(inputFile.hasNextInt())
    {
    arraySize++;
    System.out.println(arraySize);
    }

    inputFile.close();
}
Run Code Online (Sandbox Code Playgroud)

}

Jon*_*eet 7

你永远不会打电话inputFile.nextInt()- 你只是打电话hasNextInt(),这实际上不会提升文件中的位置.你可能想要:

while (inputFile.hasNextInt())
{
    arraySize++;
    System.out.println(arraySize);
    int value = inputFile.nextInt();
    // Do something with the value?
}
Run Code Online (Sandbox Code Playgroud)