2017-04-04 74 views
-3

我正在讀取txt文件,並試圖將其保存到二維(2D)數組中,但遇到錯誤,.txt文件完全保存爲由\ t分割的100 * 997陣列。 它說線程「main」中的異常java.lang.ArrayIndexOutOfBoundsException:924

異常線程 「main」 java.lang.ArrayIndexOutOfBoundsException: 924!

int i=0; 

double[][] vector=new double[100][997]; 

String line; 

while ((line=br.readLine()) != null) { 
    line=line.trim(); 
    String[] words = line.split("\t"); 
    for (int j=0; j<997; j++) { 

     vector[i][j] = Double.parseDouble(words[j]); 
    } 
    i++; 
} 

爲什麼它在924界?

非常感謝!

+1

所以每條線都有997雙打?更好地檢查你的數據 –

+0

使用調試器來確認你所期待的 – opensam

+0

也許打印字數的長度數組 – opensam

回答

-2

line = line.trim();

可能該行在trim()後只有924個單詞;

這會引用單詞[924]的引用錯誤。

+0

我檢查了數據文件,最後一行有確切的997個字,全部是雙數 –

+0

也在開始時我沒有line = line.trim(),同樣的錯誤 –

+0

對不起!在我仔細檢查了txt文件之後,我發現它並不完整,這意味着當我嘗試寫入文件時沒有使用.close(),所以數據沒有完全寫入924結束的文件,這就是爲什麼我得到了錯誤! –

相關問題