[英]Using BufferedReader to grab values from a 2D array throwing NullPointerException
我需要使用 BufferedReader 從 a.txt 文件中獲取 integer 值,然后將它們保存到 2D int 數組中。 出於某種原因,當我到達.trim()
行時,它會拋出 NullPointerException。 我的數組中的每個數字都由文件中的空格分隔:
90 47 110 95 95
101 87
54 0 38 12
這是我讀取然后保存整數的損壞代碼:
int2DArr = new int[int2Drows][int2Dcolumns];
String s;
while((s = br.readLine()) != null){
for(int i = 0; i<int2DArr.length; i++){
String[] currLine = br.readLine().trim().split(" "); //throwing error here
for(int j = 0; j<currLine.length; j++){
int2DArr[i][j] = Integer.parseInt(currLine[j]);
}
}
}
任何幫助將不勝感激!
我認為問題在於有一個額外的readLine()
。 您已經在閱讀while
循環中的下一行。 所以在循環內你應該使用s
而不是閱讀下一行。 使用您當前的代碼,您在while
循環中每次迭代讀取 2 行,但您打算每次迭代讀取 1 行。
請注意在trim
調用之前的更改。
int2DArr = new int[int2Drows][int2Dcolumns];
String s;
while((s = br.readLine()) != null){
for(int i = 0; i<int2DArr.length; i++){
String[] currLine = s.trim().split(" ");
for(int j = 0; j<currLine.length; j++){
int2DArr[i][j] = Integer.parseInt(currLine[j]);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.