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

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();
}


}

最佳答案

您永远不会调用inputFile.nextInt()-您只会调用hasNextInt(),实际上并不会提高文件中的位置。您可能想要:

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

关于java - 用Java读取整数文本文件的无限循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11790978/

10-10 14:23