2017-04-04 143 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结束的文件,这就是为什么我得到了错误! –

相关问题