我在将值存储在多维数组中时遇到问题。这个想法的主要概念是我有一个名为 user_decide 的数组列表,我将它转换为一个数组。所以,decision 数组看起来像 [1, 45, 656, 8, 97, 897],但所有行的元素数量都不相同。然后,我拆分了这个替换 [,] 和空格,我想将每个值单独存储在一个二维数组中。所以,我用“,”分割它,并尝试将每个值存储在不同的位置。一切似乎都打印得很好,甚至 cut[j] 是我想要存储的,但我得到了一个 java.lang.NullPointerException,我没有得到。count 变量其实就是 count = user_decide.size()
String [] decide = user_decide.toArray(new String[user_decide.size()]);
for (int i = 0; i < count; i ++){
decide[i] =
decide[i].replaceAll("\\s", "").replaceAll("\\[","").replaceAll("\\]", "");
}
String [][] data1 = new String[count][];
for (int i = 0; i < count; i++){
String [] cut = decide[i].split("\\,");
for (int j = 0; j < cut.length; j++){
System.out.println(cut[j]);
data1[i][j] = cut[j];
}
}
另一个问题是为什么我不能将它存储在 Int [][] 数组中?有没有办法做到这一点?
十分感谢。
** 编辑 **
接受问题后,我刚刚对我的答案进行了编辑。我正在尝试将其存储在 2D int 数组中。
String [][] data1 = new String[user_decide.size()][];
int [][] data = new int [user_decide.size()][];
for (int i = 0; i < user_decide.size(); i++){
data1[i] = decide[i].split("\\,");
for (int j = 0; j < data1[i].length; j++) {
data[i] = new int [data1[i].length];
data[i][j] = Integer.parseInt(data1[i][j]);
System.out.println(data1[i][j]);
}
}