我有这个2D数组[[1, 0, 0], [2, 0, 0], [3, 4, 5,], [6, 7, 0], null, [0, 0, 0]]
。
我想把它变成一个动态数组,这意味着我希望它是[[1], [2], [3, 4, 5], [6, 7], null, []]
。
以下是我尝试的代码。我似乎无法得到它。有什么建议吗?
public static int[][] getNonFixedArray(String string) {
String[] split = string.split("\\|", -1);
int[][] result = new int[split.length][3];
for (int i = 0; i < split.length; i++) {
int[] array = getNonFixedArray(split[i]);
if (array != null) {
for (int j = 0; j < array.length; j++) {
result[i][j] = array[j];
if (result[i][j] == 0) {
result[i][j] = Integer.parseInt(" ");
}
}
} else {
result[i] = null;
}
}
return result;
}
答案 0 :(得分:0)
当你浏览内部数组(第二个for循环)时,你试图用Integer.parseInt(" ");
替换值为'0'的元素。无论如何,这可能会给你一个例外。可能对您有所帮助的是收集非零数字(如果您可以使用列表,则在列表中)并在第二个for循环结束后根据该数字创建一个数组。