读取和分割带定界符"; "的文本文件,但忽略","

问题描述 投票:0回答:1

我必须读取一个文本文件,其结构如下:joe;25;计算机科学;1、javascript;2、java;3、html。

我知道如何逐行读取文件,我知道我也必须使用split(";").但我也想把计算机科学下面的内容传入一个二维数组,这样我就会有这样的东西。[joe, 25, 计算机科学, [1, javascript], [2, java], [3, html]] 。

但每当我尝试这样做时,我都会得到一个错误(java.lang.ArrayIndexOutOfBoundsException.Index 4 out of bounds for length 4)。Index 4 out of bounds for length 4)。)

代码如下。

        Scanner read = new Scanner(new File("text.txt"));
        int j = 0;        

        while(read.hasNextLine()) {
            String[] items = read.nextLine().split(";");
            for(int i = 0; i < 6; i++) {
                person[j][i] = items[i];
            }
            j++;            
        }
        read.close();

我到底漏了什么?

java arrays multidimensional-array
1个回答
1
投票

但每当我尝试这样做时,我都会得到一个错误(java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4)。)

我没有运行 for 循环的硬编码次数(6),你应该运行它的字符串数组的长度。

所以替换

for(int i = 0; i < 6; i++) 

for(int i = 0; i < items.length; i++) 
© www.soinside.com 2019 - 2024. All rights reserved.