Java 如何打印返回数组的方法?
我提出了一种将二维数组转换为一维数组的方法,但打印时遇到了麻烦。在主方法中创建新数组或调用该方法时出现问题。有人能帮忙吗Java 如何打印返回数组的方法?,java,arrays,Java,Arrays,我提出了一种将二维数组转换为一维数组的方法,但打印时遇到了麻烦。在主方法中创建新数组或调用该方法时出现问题。有人能帮忙吗 public class flatten { public static int[] flatten1(int[][] a){ int c=0; for(int i=0;i<a.length;i++){ for(int j=0;j<a[i].length;j++){ c++; }
public class flatten {
public static int[] flatten1(int[][] a){
int c=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
c++;
}
}
int[] x = new int[c];
int k=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
x[k++]=a[i][j];
}
}
return x;
}
public static void main(String[]args){
flatten1 f = new flatten1({{2,5,3,7,4,8},{3,4,1,2}});
for(int i=0; i<f.length;i++){
System.out.print(f[i]+" ");
}
}
公共类扁平化{
公共静态int[]1(int[]a){
int c=0;
对于(int i=0;i首先,您不能这样做:
flatten1 f = new flatten1({{2,5,3,7,4,8},{3,4,1,2}});
Flatt1不是一个类,而是一个方法,不能实例化Flatt1并输入2D int数组。
要使上述内容合法,您需要创建一个名为Flatt1的类,并创建一个构造函数,该构造函数将2D int数组作为参数,我相信这不是您想要做的
展平方法非常有效,请将主要方法更改为以下方法:
public static void main(String[] args){
int[][] arrayToBeFlattened = {{2,5,3,7,4,8},{3,4,1,2}};
int[] oneD = flatten1(arrayToBeFlattened);
for(int i=0; i<oneD.length;i++){
System.out.print(oneD[i]+" ");
}
}
publicstaticvoidmain(字符串[]args){
int[]arrayToBeFlattened={{2,5,3,7,4,8},{3,4,1,2};
int[]oneD=flatt1(阵列被平坦化);
对于(int i=0;i请尝试以下方法:
public class flatten {
public static int[] flatten1(int[][] a) {
int c = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
c++;
}
}
int[] x = new int[c];
int k = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
x[k++] = a[i][j];
}
}
return x;
}
public static void main(String[] args) {
int[][] test_arr = { { 1, 2, 3 }, { 4, 5, 6 } };
int[] f = flatten.flatten1(test_arr);
for (int i = 0; i < f.length; i++) {
System.out.print(f[i] + " ");
}
}
}
公共类扁平化{
公共静态int[]1(int[]a){
int c=0;
for(int i=0;i
在main方法中,当您打印f[i]时,您没有打印第一个值。因为f是一个数组数组,所以您试图打印第i个数组,而不是第i个元素。请确保您理解这一区别,因为它很重要。打印第i个数组只会给出它的内存地址
要解决此问题,只需将打印语句更改为:
System.out.print(Arrays.toString(f[i])+" ");