java - 无法将数据加载到二维数组中

标签 java multidimensional-array

我正在尝试将数据加载到二维数组中。 我的代码是

import java.util.Arrays;

public class MyClass {
    public static void main(String args[])
    {
        String[] datas=null;

        datas = new String[4];

        datas[0] = "abc,def,ghi";
        datas[1] = "1,2,3";
        datas[2] = "abc,def,ghi";
        datas[3] = "1,2,3";

        int cols = datas.length;
        int rows = datas[1].split(",").length;
        System.out.println("rows="+rows+" and cols="+cols);


        String[][] table_data= new String[cols][rows];
        for(int i=0;i<cols;i++)
        {
            System.out.println("came for " + i);
            table_data[cols] = datas[i].split(",");
        }

        System.out.println("Table Datas = " + Arrays.deepToString(table_data));

    }
}

但我得到的索引越界异常为

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
    at MyClass.main(MyClass.java:24)

我尝试将声明更改为

String[][] table_data= new String[cols+1][rows+1];

它显示输出为

rows=3 and cols=4
came for 0
came for 1
came for 2
came for 3
Table Datas = [[null, null, null, null], [null, null, null, null], [null, null, null, null], [null, null, null, null], [1, 2, 3]]

但这不是我想要的输出。任何帮助都会非常充分。

最佳答案

在我看来,您必须将 table_data[row] 更改为 table[i]

for(int i=0;i<cols;i++){
     System.out.println("came for " + i);
     table_data[i] = datas[i].split(",");
}

关于java - 无法将数据加载到二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36197560/

相关文章:

javascript - 在 Javascript 中获取未展平的过滤多维数组

java - 如何调用 IDL 接口(interface)上未指定的方法? [科尔巴,JAVA]

java - Java中如何识别一台计算机

java - 在java中创建多个线程

python - 多维数组的一维向量点积

java - 如何检查二维数组是否为空

java - 在 Java 中比较二维数组和一维数组

PHP Reward 指向排行榜并占领带

java - Eclipse,链接源文件夹

java - 在哪里可以测试我的 httpPost 方法?