所以解决了this problem但是现在,在我弄清楚如何将我的String拆分成数组之后,我希望这个数组是二维的。 当我想要打印第二个维度时,我会收到
java.lang.ArrayIndexOutOfBoundsException: 17
at IOControl.ReadCsvFile.fillIndex(ReadCsvFile.java:17)
at IOControl.ReadCsvFile.<init>(ReadCsvFile.java:89)
at en.window.Main.main(Main.java:48)
我想出来是因为我在我的阵列中读得太远......但为什么呢? 我的数组声明:
String index[][] = new String [data.length()][data.length()];
这就是我填写的方式。打印bidimensionnal数组:
private void fillIndex(String[][] index, String data, int j)
{
//index is empty, data is my String (read line by line)
//j is the iterator i use for the second dimension of the array
index[j] = data.split(";");
for(int i = 0; i < data.length(); i++)
{
System.out.println("[" +j+ "][" +i+ "] = " +index[j][i]);
}
}
答案 0 :(得分:2)
使用index[j].length
代替data.length()
。
项目数为index[j].length = data.split(";").length
答案 1 :(得分:0)
我的猜测是它在for循环中,尝试将其更改为:
index[j] = data.split(";");
for(int i = 0; i < index[j].length; i++)
{
System.out.println("[" +j+ "][" +i+ "] = " +index[j][i]);
}
您希望遍历index[j]
NOT data
的每个部分。