我已經編寫了下面的代碼,並且從我能猜到它應該正確執行,但它沒有,並且我將我的頭靠在牆上。找到要添加到臨時向量列表中的對象後,我試圖執行的操作是循環遍歷向量列表,並取每個文件名並計算一個單詞的出現次數。我可以將兩段代碼單獨工作,但當我將它們放在一起時,代碼將在臨時向量列表填充後停止執行。任何人都可以從我的代碼中看到什麼是阻止執行代碼的其餘部分?代碼編譯但未執行Java
EDITTED CODE >>我在代碼中改變了一些東西以正確格式化,並刪除重複,但現在沒有輸出到屏幕上。我相信這很簡單,但我似乎無法看到它。
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);
這是很多代碼。您應該嘗試隔離問題並僅附加相關部分。 – amit
看起來您至少要向列表添加至少一個字符串,然後爲每個字符串添加您正在讀取文件的列表,並將該文件中的所有單詞添加到列表中,然後將列表中的每個新單詞讀取該文件再次等...這可能只是意味着您的程序需要很長時間才能執行。 –
我也這麼認爲文森特,但它只是退出程序,並沒有顯示任何東西到控制檯。我試圖用緩衝區重寫一次,但它給了我一個無限循環。這就是爲什麼我將代碼分成兩部分的原因。 – user1850189