我编写了以下代码,内部for循环工作正常,但外部循环未进行迭代。这是我的代码:

BufferedReader userfeatures = new BufferedReader(new FileReader("userFeatureVectorsTest.csv"));
BufferedReader itemfeatures = new BufferedReader(new FileReader("ItemFeatureVectorsTest.csv"));

while ((Uline = userfeatures.readLine()) != null)
{
    for (String Iline = itemfeatures.readLine(); Iline != null; Iline = itemfeatures.readLine())
    {
         System.out.println(intersect(Uline, Iline).size());
         System.out.println(union(Uline, Iline).size());
    }
}
userfeatures.close();
itemfeatures.close();


}

它找到first line of the first fileevery line of the 2nd file的交集和并集,然后停止。但是,我需要继续并对第一个文件的下一行重复相同的过程。因此,我认为存在一些与我的外部while循环有关的问题,但是我找不到问题所在:
有人可以帮我吗?
谢谢

最佳答案

每当您从userfeatures中读取内容时,itemfeatures必须在for循环之前进行初始化。否则,您的itemfeatures在第一次迭代后会被完全读取

09-11 20:54