我已经编写了下面的代码,并且从我能猜到它应该正确执行,但它没有,并且我将我的头靠在墙上。找到要添加到临时向量列表中的对象后,我试图执行的操作是循环遍历向量列表,并取每个文件名并计算一个单词的出现次数。我可以将两段代码单独工作,但当我将它们放在一起时,代码将在临时向量列表填充后停止执行。任何人都可以从我的代码中看到什么是阻止执行代码的其余部分?代码编译但未执行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