ฉันเขียนโค้ดต่อไปนี้และลูป 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
แล้วหยุด อย่างไรก็ตาม ฉันต้องดำเนินการต่อและทำซ้ำขั้นตอนเดิมสำหรับบรรทัดถัดไปของไฟล์แรก ดังนั้น ฉันคิดว่ามีปัญหาบางอย่างที่เกี่ยวข้องกับการวนรอบนอกในขณะที่ฉัน แต่ฉันไม่พบปัญหาคืออะไร :| ใครสามารถช่วยฉันหน่อยได้ไหม? ขอบคุณ
itemfeatures
และitemfeatures.readLine()
ส่งคืนค่า null แล้วเนื่องจากคุณอยู่ที่ส่วนท้ายของไฟล์แล้ว - person SomeJavaGuy   schedule 08.12.2015itemFeatures
ไว้ในลูปด้านนอก หรือคุณสามารถอ่านเนื้อหาของไฟล์ที่สองหนึ่งครั้งและแคชข้อมูลที่คุณต้องการได้ - person khelwood   schedule 08.12.2015