因此,我正在编写一个程序,该程序将从文件中的数据填充部分填充的数组,并且我需要知道文件中的行数,以便可以在for循环上设置条件,因此不会出现界限异常。所以我创建了一个方法,说:

public static int lineFinder(String[] names) throws FileNotFoundException
    {
        Scanner in = new Scanner(new File("prog6_1.txt"));
        int count = 0;

        while(in.hasNextLine())
        {
           count++;
        }
        return count;
         }


我的文件如下所示:

3459凯特·伊丽莎白·布朗4.00

5623雷切尔·杰西卡·史密斯3.45

9837托马斯·罗伯特·多伊3.73

1235莱利·利格林2.43

而且它永远不会终止,我也弄不清为什么,因为我在末尾加了一行。有什么建议么?

最佳答案

hasNextLine()仅检查,但doesn't consume the line。您需要在循环内调用nextLine()

09-11 18:09