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()と、常に true になります。Java でのファイル I/O に関するこの質問とこのチュートリアルを確認してください。

于 2012-12-19T22:47:37.940 に答える