以下のコードを書きましたが、正しく実行されるはずだと推測できますが、正しく実行されず、頭を壁にぶつけています。一時ベクトル リストに追加するオブジェクトを見つけた後に私がやろうとしているのは、ベクトル リストをループして各ファイル名を取得し、単語の出現回数をカウントすることです。両方のコードを別々に動作させることはできますが、それらを組み合わせると、一時ベクトル リストがいっぱいになった後にコードの実行が停止します。以下の私のコードから、残りのコードの実行を妨げているものを誰でも見ることができますか?
編集されたコード >> コードをいくつか変更して正しくフォーマットし、重複を削除しましたが、画面に何も出力されません。単純なことだと思いますが、それを見ることができないようです。
for(int m = 0; m < temp.size() && occurCount < wordCount;m++)
{
File aFile2 = new File(temp.elementAt(m));
FileReader aFileReader = new FileReader(aFile2);
BufferedReader aBufferReader = new BufferedReader(aFileReader);
while((line = aBufferReader.readLine()) != null && occurCount < wordCount)
{
words = line.toLowerCase().split(" ");
if (line == null)
break;
else
{
for(int k = 0; k < words.length && occurCount < wordCount;k++)
{
if(words[k].matches(wordToSearch))
{
occur++;
q.add(words[k]);
}
else if(words[k].matches(pattern))
{
System.out.println(words[k]);
if(temp.contains(words[k]))
System.out.println("Word already in list");
else
{
temp.add(words[k]);
}
}
}
}
lineFile = "";
}
occurCount = occur;
occur = 0;
aBufferReader.close();
searched.add(temp.elementAt(m));
occurCount2 += occurCount;
//occurCount += occurCount;
System.out.println(occurCount);
System.out.println(q);
System.out.println(temp);
System.out.println(searched);