Java 如何使用循环创建多个阵列?

Java 如何使用循环创建多个阵列?,java,arrays,Java,Arrays,我在Java中创建带有循环的多个数组时遇到问题。我要做的是创建一组数组,这样下面的每个数组中都有3个以上的数字,并且所有数字都是连续的。澄清一下,我需要的是一组,比如说30个数组,所以它看起来像这样: [1,2,3] [4,5,6,7,8,9] [10,11,12,13,14,15,16,17,18] [19,20,21,22,23,24,25,26,27,28,29,30] .... [[1,2,3],[4,5,6,7,8,9],[10,11,12,13...]...] 等等。非常感谢任何

我在Java中创建带有循环的多个数组时遇到问题。我要做的是创建一组数组,这样下面的每个数组中都有3个以上的数字,并且所有数字都是连续的。澄清一下,我需要的是一组,比如说30个数组,所以它看起来像这样:

[1,2,3]
[4,5,6,7,8,9]
[10,11,12,13,14,15,16,17,18]
[19,20,21,22,23,24,25,26,27,28,29,30]
....
[[1,2,3],[4,5,6,7,8,9],[10,11,12,13...]...]

等等。非常感谢任何帮助

必须使用双for循环。第一个循环将对数组进行迭代,第二个循环将对数组内容进行迭代

Sor的第一个必须从0迭代到30。第二个不太容易写。你必须记住你最后一站的位置,以及在最后一站你有多少物品。最后,它看起来是这样的:

int base = 1;
int size = 3;
int arrays[][] = new int[30][];    

for(int i = 0; i < 30; i++) {
    arrays[i] = new int[size];

    for(int j = 0; j < size; j++) {
        arrays[i][j] = base;
        base++;
    }
    size += 3;
}
intbase=1;
int size=3;
int数组[][]=新的int[30][];
对于(int i=0;i<30;i++){
数组[i]=新整数[size];
对于(int j=0;j
必须使用双for循环。第一个循环将对数组进行迭代,第二个循环将对数组内容进行迭代

Sor的第一个必须从0迭代到30。第二个不太容易写。你必须记住你最后一站的位置,以及在最后一站你有多少物品。最后,它看起来是这样的:

int base = 1;
int size = 3;
int arrays[][] = new int[30][];    

for(int i = 0; i < 30; i++) {
    arrays[i] = new int[size];

    for(int j = 0; j < size; j++) {
        arrays[i][j] = base;
        base++;
    }
    size += 3;
}
intbase=1;
int size=3;
int数组[][]=新的int[30][];
对于(int i=0;i<30;i++){
数组[i]=新整数[size];
对于(int j=0;j
必须使用双for循环。第一个循环将对数组进行迭代,第二个循环将对数组内容进行迭代

Sor的第一个必须从0迭代到30。第二个不太容易写。你必须记住你最后一站的位置,以及在最后一站你有多少物品。最后,它看起来是这样的:

int base = 1;
int size = 3;
int arrays[][] = new int[30][];    

for(int i = 0; i < 30; i++) {
    arrays[i] = new int[size];

    for(int j = 0; j < size; j++) {
        arrays[i][j] = base;
        base++;
    }
    size += 3;
}
intbase=1;
int size=3;
int数组[][]=新的int[30][];
对于(int i=0;i<30;i++){
数组[i]=新整数[size];
对于(int j=0;j
必须使用双for循环。第一个循环将对数组进行迭代,第二个循环将对数组内容进行迭代

Sor的第一个必须从0迭代到30。第二个不太容易写。你必须记住你最后一站的位置,以及在最后一站你有多少物品。最后,它看起来是这样的:

int base = 1;
int size = 3;
int arrays[][] = new int[30][];    

for(int i = 0; i < 30; i++) {
    arrays[i] = new int[size];

    for(int j = 0; j < size; j++) {
        arrays[i][j] = base;
        base++;
    }
    size += 3;
}
intbase=1;
int size=3;
int数组[][]=新的int[30][];
对于(int i=0;i<30;i++){
数组[i]=新整数[size];
对于(int j=0;j
要做到这一点,您需要跟踪三件事:(1)您已经创建了多少个数组(因此可以在30处停止);(2) 您所在阵列的长度(以便可以创建下一个长度正确的阵列);以及(3)您所使用的整数值(以便可以使用正确的值填充下一个数组)

这里有一个方法:

private Set<int[]> createArrays() {
    final Set<int[]> arrays = new HashSet<int[]>();
    int arrayLength = 3;
    int value = 1;
    for (int arrayNum = 0; arrayNum < 30; ++arrayNum) {
        final int[] array = new int[arrayLength];
        for (int j = 0; j < array.length; ++j) {
            array[j] = value;
            ++value;
        }
        arrays.add(array);
        arrayLength += 3;
    }
    return arrays;
}
private Set createArrays(){
最终集数组=新HashSet();
int arrayLength=3;
int值=1;
对于(int-arrayNum=0;arrayNum<30;++arrayNum){
最终整数[]数组=新整数[arrayLength];
对于(int j=0;j
要做到这一点,您需要跟踪三件事:(1)您已经创建了多少个数组(因此可以在30处停止);(2) 您所在阵列的长度(以便可以创建下一个长度正确的阵列);以及(3)您所使用的整数值(以便可以使用正确的值填充下一个数组)

这里有一个方法:

private Set<int[]> createArrays() {
    final Set<int[]> arrays = new HashSet<int[]>();
    int arrayLength = 3;
    int value = 1;
    for (int arrayNum = 0; arrayNum < 30; ++arrayNum) {
        final int[] array = new int[arrayLength];
        for (int j = 0; j < array.length; ++j) {
            array[j] = value;
            ++value;
        }
        arrays.add(array);
        arrayLength += 3;
    }
    return arrays;
}
private Set createArrays(){
最终集数组=新HashSet();
int arrayLength=3;
int值=1;
对于(int-arrayNum=0;arrayNum<30;++arrayNum){
最终整数[]数组=新整数[arrayLength];
对于(int j=0;j
要做到这一点,您需要跟踪三件事:(1)您已经创建了多少个数组(因此可以在30处停止);(2) 您所在阵列的长度(以便可以创建下一个长度正确的阵列);以及(3)您所使用的整数值(以便可以使用正确的值填充下一个数组)

这里有一个方法:

private Set<int[]> createArrays() {
    final Set<int[]> arrays = new HashSet<int[]>();
    int arrayLength = 3;
    int value = 1;
    for (int arrayNum = 0; arrayNum < 30; ++arrayNum) {
        final int[] array = new int[arrayLength];
        for (int j = 0; j < array.length; ++j) {
            array[j] = value;
            ++value;
        }
        arrays.add(array);
        arrayLength += 3;
    }
    return arrays;
}
private Set createArrays(){
最终集数组=新HashSet();
int arrayLength=3;
int值=1;
对于(int-arrayNum=0;arrayNum<30;++arrayNum){
最终整数[]数组=新整数[arrayLength];
对于(int j=0;j
要做到这一点,您需要跟踪三件事:(1)您已经创建了多少个数组(因此可以在30处停止);(2) 您所在阵列的长度(以便可以创建下一个长度正确的阵列);以及(3)您所使用的整数值(以便可以使用正确的值填充下一个数组)

这里有一个方法:

private Set<int[]> createArrays() {
    final Set<int[]> arrays = new HashSet<int[]>();
    int arrayLength = 3;
    int value = 1;
    for (int arrayNum = 0; arrayNum < 30; ++arrayNum) {
        final int[] array = new int[arrayLength];
        for (int j = 0; j < array.length; ++j) {
            array[j] = value;
            ++value;
        }
        arrays.add(array);
        arrayLength += 3;
    }
    return arrays;
}
private Set createArrays(){
最终集数组=新HashSet();
int arrayLength=3;
int值=1;
对于(int-arrayNum=0;arrayNum<30;++arrayNum){
最终整数[]数组=新整数[arrayLength];
对于(int j=0;j
我不认为您可以在java中“创建”数组,但您可以创建一个数组数组,因此输出将如下所示:

[1,2,3]
[4,5,6,7,8,9]
[10,11,12,13,14,15,16,17,18]
[19,20,21,22,23,24,25,26,27,28,29,30]
....
[[1,2,3],[4,5,6,7,8,9],[10,11,12,13...]...]
通过使用两个for循环,可以非常简洁地实现这一点

快速回答 ==================

int arrays[][] = new int[30][];
for (int j = 0; j < 30; j++){
  for (int i = 0; i < (j++)*3; i++){
    arrays[j][i] = (i++)+j*3;
  }
}
给你,j.i