我正在尝试将数据加载到二维数组中。
我的代码是
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(",");
}