我正在尝试让Java使用hasNext()
,hasNextLine()
和while循环来计算文本文件中的行数,尽管我似乎遇到了一些问题。该程序将继续运行,我相信它陷入无限循环。如果有人能解释这个问题并给我一个可能的解决方案,我会非常感激。
这是程序正在读取的文件(hurcdata2.txt,它保存在程序的目录中):
1980 Aug 945 100 Allen
1983 Aug 962 100 Alicia
1984 Sep 949 100 Diana
1985 Jul 1002 65 Bob
1985 Aug 987 80 Danny
1985 Sep 959 100 Elena
1985 Sep 942 90 Gloria
1985 Oct 971 75 Juan
1985 Nov 967 85 Kate
这是我的代码:
import java.util.Scanner;
import java.io.*;
public class HurricaneData
{
public static void main(String[] args) throws IOException
{
File hurricaneData = new File("TestText.txt");
Scanner inFileHD = new Scanner(hurricaneData);
int n = 0; //represents number of blocks of data
while( inFileHD.hasNextLine() )
{
n++;
}
System.out.println(n + " block of data");
inFileHD.close();
}
}
答案 0 :(得分:2)
您需要使用扫描仪的输入,否则inFileHD.hasNextLine()
始终为true
while (inFileHD.hasNextLine()) {
inFileHD.nextLine(); // add this
...
}