【发布时间】:2014-11-10 11:34:54
【问题描述】:
我想知道如何从同一个方法返回两个多维数组:
public static arraysReturn() {
int [][] A={{1,2},{2,3},{4,5}};
int [][] B={{1,2},{2,3},{4,5}};
return A,B;
}
【问题讨论】:
-
一个3D数组,第一维大小为2?
我想知道如何从同一个方法返回两个多维数组:
public static arraysReturn() {
int [][] A={{1,2},{2,3},{4,5}};
int [][] B={{1,2},{2,3},{4,5}};
return A,B;
}
【问题讨论】:
Java 不支持一次返回多个内容。
但是,您可以创建一个小类来执行此操作:
public class TwoArrays {
public final int[][] A;
public final int[][] B;
public TwoArrays(int[][] A, int[][] B) {
this.A = A;
this.B = B;
}
}
然后让你的方法是这样的:
public static TwoArrays arraysreturn() {
int [][] A={{1,2},{2,3},{4,5}};
int [][] B={{1,2},{2,3},{4,5}};
return new TwoArrays(A,B);
}
要访问值:
TwoArrays arrays = arraysreturn();
System.out.println(Arrays.toString(arrays.A)); //Due to the way java prints arrays, this is needed, but it isn't a requirement for doing other stuff with the array.
System.out.println(Arrays.toString(arrays.B));
【讨论】:
制作一个包含两个数组的数组。你的情况
int[2][][] = {
{{1,2},{2,3},{4,5}},
{{1,2},{2,3},{4,5}}
};
或者更好的是,创建一个包含两个数组的对象。
【讨论】:
你不能从一个方法返回多个值。
您可以返回一个包含两个数组作为成员的对象。
您也可以返回一个包含两个数组的多维数组,但这不是一个非常 OOP 的解决方案。
【讨论】: