java - 在Java中打印二维数组(通过split生成)

标签 java multidimensional-array indexoutofboundsexception

解决了this problem但现在,在我弄清楚如何将字符串拆分为数组之后,我希望这个数组是二维的。 当我想打印第二个维度时,我收到

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()];

这就是我填充和打印二维数组的方式:

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]);           
    }
}

最佳答案

使用index[j].length而不是data.length()

项目数量为index[j].length = data.split(";").length

关于java - 在Java中打印二维数组(通过split生成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18469674/

相关文章:

java - 为什么 Java 允许在其标识符中使用控制字符?

PHP array_push() 正在覆盖现有的数组元素

java - 如何在 Java 中的二维数组上的循环内创建对象

c - 如何检索 3D 数组的用户输入

java - 获取“index : 0"and "size:0"error from ArrayList. size()

java - HttpSession 到底什么时候过期(开始有资格销毁 - 不一定销毁)?

java - ListSelectionModel - getMinSelectionIndex() 错误地返回 -1

java - 使用 java 进入此数组时出现 ArrayIndexOutOfBoundsException?

java - jlabel 上的图标获取 jlabel 的大小

c++ - vector 分配崩溃