java请告诉我我的代码出了什么问题?!!需要将2D阵列转换为并排1D阵列
public static void main(String[] args) {
int[][] arr = {{2, 3, 4}, {3, 4, 5, 2}};
System.out.println(line(arr));
}
public static int[] line(int[][] arr) {
int size = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
size++;
}
}
int[] array = new int[size];
int place = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
array[place] = arr[i][j];
place++;
}
}
return array;
}
我得到的厄洛尔是
----jGRASP exec:java问题 [I@15db9742
----jGRASP:操作完成
# 1 楼答案
每个对象都有一个
toString()
方法,默认方法是显示对象的类名表示,然后是“@”,后面是它的hashcode
。所以你看到的是int array
的默认toString()
表示。要打印数组中的数据,可以使用或者你可以像这样用for循环遍历数组
# 2 楼答案
就我所知,它正在发挥作用:
唯一的问题是,当你写出结果时,你得到的是对象引用,而不是纯文本的数组
# 3 楼答案