使用split来分割数据并存储在矩阵中

时间:2017-09-07 07:51:11

标签: java split

我的程序逐行读取数据文件,每行读取一个字符串。以下是一行示例:

13 0 150801 00010860 04 04 1 076 2270 999 2 0 1 0 16 04 07 054 0311 068 0135 064 0533 079 0139 075 0640 079 0135 088

我现在需要将此字符串拆分为空格。我编写了以下代码,但在运行时遇到错误。这是代码:

//用于存储WIM数据的矩阵                     String [] [] WIMdataMatrix = new String [WIMdataList.size()] [30];

                //Splits the string lines in different elements and stores in matrix
                for(int i = 0 ; i < WIMdataList.size() ; i++){

                    String[] temp = WIMdataList.get(i).split(" ");

                    for(int j = 0 ; j < 30 ; j++){

                        WIMdataMatrix[i][j] = temp[j];
                    }
                }

以下是例外:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
    at wim_data_reader.WIMdataReader.main(WIMdataReader.java:61)

如果我理解正确,这意味着我正在尝试访问不符合我指定大小的元素中的矩阵,请帮忙!

1 个答案:

答案 0 :(得分:5)

更改为

for(int j = 0 ; j < 30 && j < temp.length; j++){

确保不超过temp数组大小