ファイルのすべての単語をHashSetに配置する方法を理解しようとしています。私が書いている方法は、ファイルを読んで、そのファイルにある単語をHashSetとして返すべきです。私もsplit()メソッドを使用する必要がありますが、それを使用する方法を理解することはできません。また、すべての単語を小文字に変換するnormalize()メソッドもあります。これは私が得た距離です:文書の単語をJavaのHashSetに抽出する
public static HashSet<String> extractWordsFromDocument(String filename) {
try {
FileReader in = new FileReader(filename);
Scanner file = new Scanner(in);
while(file.hasNext()){
try {
String line = file.nextLine();
line = line.normalize();
line = line.split();
Set<String> words = new HashSet<String>();
hashset.add(line);
System.out.println(words);
}
catch (Exception e) {
}
}
}
catch (FileNotFoundException e) {
System.out.println("Working Directory = " + System.getProperty("user.dir"));
}
return null;
}
このコードには多くの間違いがあります。私はちょうど初心者です...
あなたはスプリット()メソッドが何を思いますか?あなたは知らないようです。解決策はjavadocを読み込むことです。 http://docs.oracle.com/javase/8/docs/api/java/lang/String.htmlまた、すべての行*に対して新しいHashSetを作成しています。そしてこのセットの内容をすべての行に印刷する*。 HashSetはループの前に作成し、ループの後に返す必要があります。メソッドは現在、常にnullを返します。また、例外のキャッチを停止します。 throws節でIOExceptionを宣言します。 –
ああ、Stringはnormalize()メソッドがどこにあったのですか?再度、javadocを読んでください。その方法は存在しません。 –
@JBNizetええ、単語を小文字に変換するnormalize()というヘルパーメソッドがあることを忘れていました – Christine