在Java中打印二维数组(使用拆分生成)

在Java中打印二维数组(使用拆分生成),java,multidimensional-array,indexoutofboundsexception,Java,Multidimensional Array,Indexoutofboundsexception,所以解决了,但现在,在我知道如何将字符串拆分为数组后,我希望这个数组是二维的。 当我想要打印我收到的第二个维度时 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:

所以解决了,但现在,在我知道如何将字符串拆分为数组后,我希望这个数组是二维的。 当我想要打印我收到的第二个维度时

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)
这是我填充和打印二维数组的方式:

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]);           
    }
}
private void fillIndex(字符串[][]索引,字符串数据,int j)
{
//索引为空,数据为我的字符串(逐行读取)
//j是我用于数组第二维的迭代器
索引[j]=数据分割(“;”);
对于(int i=0;i
使用
索引[j].length
而不是
数据.length()


项目数为
索引[j]。长度=数据。拆分(;”)。长度
使用
索引[j]。长度
而不是
数据。长度()


项目数为
索引[j]。长度=数据。拆分(;”)。长度

我猜它在for循环中,请尝试将其更改为:

index[j] = data.split(";");
for(int i = 0; i < index[j].length; i++)
{
    System.out.println("[" +j+ "][" +i+ "] = " +index[j][i]);           
}
index[j]=data.split(“;”);
对于(int i=0;i

如果您想遍历
索引[j]
的每个部分,而不是
数据

我猜它在for循环中,请尝试将其更改为:

index[j] = data.split(";");
for(int i = 0; i < index[j].length; i++)
{
    System.out.println("[" +j+ "][" +i+ "] = " +index[j][i]);           
}
index[j]=data.split(“;”);
对于(int i=0;i

您希望遍历
索引[j]
的每一部分,而不是
数据

数据。length()
返回字符串的长度
数据
。可能j的有效长度大于或等于data.length。你能给我们你在得到异常时传递的参数吗?你不应该在索引[j]上循环,而不是在数据上循环。length()?
data.length()
返回字符串的长度
data
。可能j的有效长度大于或等于data.length。你能告诉我们你在得到异常时传递的参数吗?你不应该在索引[j].length而不是data.length()上循环吗?哦,你是对的!谢谢你快速准确的回答,但我到底做错了什么?我原以为数组中字符串的长度与字符串的长度相同:/data。length()是字符数,但索引[j]。length是拆分后字符串的数目()你说得对!谢谢你快速准确的回答,但我到底做错了什么?我认为数组中字符串的长度应该与字符串的长度相同:/data。length()是字符数,但索引[j]。length是拆分()后的字符串数。length()仅用于string对象,而对于数组则是。length@SrinathGanesh谢谢,复制粘贴错误..length()仅适用于字符串对象,对于数组,它是。length@SrinathGanesh谢谢,复制粘贴错误。