二维数组:一维在运行时确定,其他维度在编译时已知



方法generateRandomArray(int minLength, int maxLength, int minVal, intMaxVal)返回一个随机长度的随机数组。我想要生成一个随机数组,然后复制5次。我计划对数组进行相同的操作,所以我希望能够在这些数组的数组上使用循环。我想要一个二维数组,其中一个维度是随机生成的数组的长度,另一个维度是6。我该怎么做呢?int[][6] test = generateRandomArray(3,50,-100,100)[];得到] expected

现在我有

    int[] a1 = generateRandomArray(minLength, maxLength, minVal, maxVal);
    int[] a2 = a1.clone();
    int[] a3 = a2.clone();
    int[] a4 = a3.clone();
    int[] a5 = a4.clone();
    int[] a6 = a5.clone();
    a1.doWork();
    a2.doWork();
    a3.doWork();
    //...
    a1.callMethodX();
    a2.callMethodY();
    a3.callMethodZ();
    //...
    System.out.println(Array.toString(a1));
    System.out.println(Array.toString(a2));
    System.out.println(Array.toString(a3));
    System.out.println(Array.toString(a4));
    System.out.println(Array.toString(a5));
    System.out.println(Array.toString(a6));

听起来像这样:

int[] a1 = generateRandomArray(minLength, maxLength, minVal, maxVal);
int a[][] = new int[6][];
for (int i=0; i<a.length; i++) {
    a[i] = a1.clone();
}

创建一个可以容纳6个数组的数组。然后使用循环将随机数组的6个副本放入该数组。

// Using it:
for (int i=0; i<a.length; i++) {
    a[i].doWork();
    System.out.println(Arrays.toString(a[i]));
}

相关内容

  • 没有找到相关文章

最新更新