【发布时间】:2015-06-15 07:04:44
【问题描述】:
我尝试转换这个字符串
s=[[4, 2, 2, 4], [3, 4, 5, 6], [6, 7, 8, 9], [3, 2, 1, 4]]
变成这样的二维数组
{4, 2, 2, 4},
{3, 4, 5, 6},
{6, 7, 8,9},
{3、2、1、4}
通过使用此代码
int e=s.replaceAll("\\[", "").replaceAll(" ","").replaceAll("],","]").length();
String[] rows1 = s.replaceAll("\\[", "").replaceAll(" ","").replaceAll("],","]").substring(0, e-2).split("]");
String[][] matrix1 = new String[4][4];
int r1 = 0;
for (String row1 : rows1) {
matrix[r1++] = row1.split(",");
}
System.out.println(Arrays.deepToString(matrix1));
但是有这样的问题
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 3 在 test.main(test.java:94)
你能帮我找到解决办法吗?
【问题讨论】:
-
第 94 行是哪一行?
-
这条线矩阵[r1++] = row1.split(",");
-
您是否查找了
ArrayIndexOutOfBoundsException以努力了解它是什么以及为什么会发生?您是否使用调试器单步执行代码? -
好的,我会尝试搜索
-
我认为您在这里尝试更改错误的变量
matrix[r1++] = row1.split(",");。不应该是matrix1吗?尝试使用变量名来解释变量的作用。
标签: java string multidimensional-array converter