需要将传入的数组存储为单个二维数组。
[7, 7, 7, 7, 7]
[7, 7, 7, 7, 7]
[1, 1, 1, 1, 1]
[9, 9, 9, 9, 9]
[7, 7, 7, 7, 7]
[0, 0, 0, 0, 0]
[6, 6, 6, 6, 6]
[6, 6, 6, 6, 6]
[1, 1, 1, 1, 1]
无效示例输出1
addr_len
我尝试这样做的每次尝试都会导致错误。我假设是我正在尝试将数组存储到2d数组的传统方法,并且所有数组信息都是已知的并且可以在手边访问。当我尝试这样做时,一次只调用一个数组,我无法让它工作。
答案 0 :(得分:3)
一个选项是让您的processArray()
方法只需使用输入数组向二维数组添加新行。然后,维护2D数组的索引以跟踪您的位置。
public class Question {
private static int[][] processedArrayData;
private static int index = 0;
public static void processArrays(int[] incoming) {
//for (int i=0; i < incoming.length; ++i) {
// processedArrayData[index][i] = incoming[i];
//}
// edit by @FelixNovovic
processedArrayData[index] = incoming
++index;
}
public static void main(String[] args) {
int[] array1 = {7, 7, 1, 3, 3};
int[] array2 = {9, 7, 0, 3, 8};
int[] array3 = {6, 6, 1, 3, 2};
processedArrayData = new int[3][5];
processArrays(array1);
processArrays(array2);
processArrays(array3);
}
}
答案 1 :(得分:2)
您需要创建类Question的实例或使变量也是静态的。
static int[][] processedArrayData = new int[3][];
static int idx = 0;
public static void processArrays(int[] incoming) {
processedArrayData[ idx++ ] = incoming;
}