我正在循環使用while和for循環的文本文件。爲什麼每次我繼續while循環時,我的變量都會被重置?
我的代碼的目標是遍歷我的CSV逗號分隔的文本文件與2列,並只通過字符串解析到地圖。我不需要整數,這就是我的程序所要做的。
問題是,每當我重新啓動while循環轉到下一行時,它會重新啓動我的變量並假定它始終在第一行。
這裏是我的代碼:
CSVReader reader = new CSVReader(new FileReader("sortMark12.txt"), ',');
List<String[]> myEntries = reader.readAll();
reader.close();
//mark12Line is a string of the file name, and mark12Br is a buffered reader
//While the text file's line is not empty
whileloop: while ((mark12Line = mark12Br.readLine()) != null)
{
//Declaring row, this keeps getting reset
for (int row = 0; row < myEntries.size(); row++)
{
//Declaring column, this also keeps getting reset
for (int column = 0; row < myEntries.get(row).length; column++)
{
//While the row and column is not an integer
while (!isInteger(myEntries.get(row)[column]))
{
//Put the value in position row and column into the map.
mark12Map.put(mark12Line.split(",")[0], myEntries.get(row)[column]);
continue whileloop;
}
}
}
}
發生了什麼事在我的代碼是第一行和第一列上,它檢測到它作爲一個整數,所以它並沒有把該整數到地圖中。第一行和第二列是一個字符串,所以放在地圖中。
問題是,一旦完成,它會繼續我的while循環,並且row
和column
已被重置爲0.因此,它的行爲就好像它仍然在同一行上,即使我已經將它擴大爲增量在row++
和column++
。
爲什麼我的整型變量不斷重置爲0?我需要他們每次增加一個不同的線。
我是在聲明他們錯了,還是別的東西打破了我的代碼。
如果您需要更多的代碼,請讓我知道。
謝謝你的幫助。
爲什麼在'myEntries'迭代過程中,在while循環中讀取來自'mark12Br'的行? '繼續while循環;''跳出'for'循環,'whileloop'的下一次循環再次從頭開始。 – user2357112
我不確定如何從逗號分隔的角度抓取內容而不使用字符串數組列表。如何在不重置任何東西的情況下循環訪問while循環? – juiceb0xk