0

これを含むtxtファイルがあります:

Mary had a little lamb little lamb
little lamb. Mary had a little lamb.
That's all? Did the lamb follow Mary
wherever Mary went?

「Mary」という単語のtxtファイルをスキャンし、出現回数を数え、その数を出力するコードを作成しようとしています。

import java.util.Scanner;
import java.io.*;

class Test {
    public static void main(String[] args) {
        int count = 0;

        Scanner reader = new Scanner("test.txt");

        while (reader.hasNextLine()) {
            String nextToken = reader.next();
            if (nextToken.equals("Mary"))
                count++;
        }

        System.out.println("The word 'Mary' was found on " + count + " lines.");
    }


}

コードがコンパイルされている間、システムが印刷して間違った入力を取得し続けます"The word 'Mary' was found on 0 lines."

ここで何が起こっているのか分かりますか?

4

2 に答える 2

4

実際にはファイルから読み取っていません。

スキャナーを次のように宣言する必要がありますnew Scanner(new File("test.txt"));。それ以外の場合、スキャナーは文字通り文字列「test.txt」をスキャンして Mary を探します。

さまざまなコンストラクターについては、スキャナーのドキュメントを参照してください。

于 2013-11-03T00:19:47.933 に答える