0

3 つの単語を含むテキスト ファイルがあり、これらの単語を読み取ろうとすると、次のエラーが発生します。

Exception in thread "main" java.util.NoSuchElementException  
    at java.util.Scanner.throwFor(Unknown Source)  
    at java.util.Scanner.next(Unknown Source)  
    at search.search(search.java:121)  
    at main.main(main.java:38)  

以下は問題のコードです:

Scanner reader = new Scanner(path + client + "\\" + cat +"\\" + query + ".arch");  
while (reader.hasNext()){  
    String a = reader.next();  // line 121
    String b = reader.next();  
    String c = reader.next();  
    file = new File (path + client + "\\" + a +"\\" + b + ".arch");  
    print(file);  
}

ファイルの内容は次のとおりです。

po ref refc (最後に改行あり)

何を与える?私は以前、同じファイルで非常によく似たシステムを使用したことがあり、すべてが機能しました。以下のいくつかの行で非常によく似たシステムを使用しています。
ところで、文字列 c はまだ実装されていませんが、さらに下にあります。

4

1 に答える 1

1

121行目は次の行の1つではありませんか?

reader.hasNext()別のエントリがあることを確認しますが、ab、 の3 つのエントリを読み取りますc。たとえば、1 つしかない場合b = reader.next()は失敗します。

于 2012-07-22T17:39:26.457 に答える