Java 如何使用循环创建多个阵列?
我在Java中创建带有循环的多个数组时遇到问题。我要做的是创建一组数组,这样下面的每个数组中都有3个以上的数字,并且所有数字都是连续的。澄清一下,我需要的是一组,比如说30个数组,所以它看起来像这样: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...]...] 等等。非常感谢任何
[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