我试图让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();
}
}
最佳答案
您需要使用扫描仪的输入,否则inFileHD.hasNextLine()
始终为true
while (inFileHD.hasNextLine()) {
inFileHD.nextLine(); // add this
...
}