0

有人可以解释为什么这是一个无限循环吗?hurcdata2 中有大约 30 个应变值。我不明白问题是什么。

import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public class Hurricanes2
{
public static void main(String[] args) throws IOException
{
    int i = 0;
    int hurricaneNumber = 0;
    String hurricanes = "";
    File fileName = new File("hurcdata2.txt");
    Scanner inFile = new Scanner(fileName);
    while (inFile.hasNext())
    {
        hurricaneNumber++;
    }
}
}
4

2 回答 2

1

在您的while- 循环中,您应该调用inFile.nextLine()以使其处理文件中的每一行。

  while (inFile.hasNext()) {
     hurricaneNumber++;
     String line = inFile.nextLine();
  }
于 2012-12-19T22:47:17.317 回答
1

正如@ElectricLlama 在评论中指出的那样,您需要推进文件指针以获取下一个令牌,否则hasNext()将始终为真。检查this question和this tutorial on File I/O in Java。

于 2012-12-19T22:47:37.940 回答