【发布时间】:2016-03-13 15:28:42
【问题描述】:
我编写了以下代码,内部 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 file 与every line of the 2nd file 的交集和并集,然后停止。但是,我需要继续并为第一个文件的下一行重复相同的过程。所以,我认为我的外部 while 循环存在一些问题,但我找不到问题所在:|
有人可以帮我吗?
谢谢
【问题讨论】:
-
我宁愿说它一遍又一遍地循环,而你的 for 循环不再循环了,因为你已经读过
itemfeatures和itemfeatures.readLine()返回 null 因为你已经在最后了文件。 -
你可以把
itemFeatures的初始化放在外循环里面。或者您可以读取第二个文件的内容一次并缓存您需要的信息。
标签: java while-loop iteration nested-loops