我必须读取一个文本文件,其结构如下: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.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++)