我遇到問題。我想用包含不同信息的對象填充數組。 這裏是我的循環獲取循環外的信息
public FileRecord [] calcPos() throws IOException{
for (int i = 0; i < getEFSFATmaxRecords(); i++){
int blockNumber = i/5;
int recordOffset = i%5;
pos = (recordOffset*100+(getFsatPos() + 512 + 512*blockNumber));
FileRecord rec = new FileRecord(pos,getHeader());
array = new FileRecord[header.getMaxFileRecords()];
array[i] = rec;
System.out.println("FileName: " + array[i].getFileName());
}
return array;
}
應該讓FileRecord的不同的對象。位置取決於運行變量i。 t 然後循環將所有內容存儲在數組中並返回數組。我聲明數組是一個全局變量,所以我認爲循環內的變化將直接影響全局數組。但它不起作用。我做錯了什麼?
您正在每次迭代中重新創建陣列。 – Sohaib