如何通过索引填充多维数组?
How can I fill a multidimensional array by indexes?
我正在尝试通过索引填充多维数组。当一个索引完成后,再去下一个,...
我必须在没有 arraylist 的情况下执行此操作。
我的代码:
for(i = 0; i < tridimensional.length; i++){
for(j=0; j < tridimensional[i].length; j++){
for(k=0; k < tridimensional[i][j].length; k++){
tridimensional[i][j][k] = (int) (Math.random() * 10+1);
}
}
}
澄清结果:
INDEX:1
79 29 25 84 41 62 81 31 12
63 13 87 71 4 46 21 20 47
85 60 32 37 27 11 33 51 55
INDEX:N
50 82 72 15 74 80 5 17 43
58 52 64 57 76 56 26 2 68
39 54 77 48 70 73 8 86 34
我有一种随机化数字并且不重复的方法。我为二维数组工作,但我想让它在三维数组中为 tridimensional[i] 中的每个矩阵工作。
for(i = 0; i < tridimensional.length; i++){
for(j=0; j < tridimensional[i].length; j++){
for(k=0; k < tridimensional[i][j].length; k++){
do {
rand= (int) (Math.random() * 89+1);
} while (exist(tridimensional, rand));
tridimensional[i][j][k] = rand;
}
}
}
public static boolean exist(int[][][] tridimensional, int n) {
boolean exist = false;
int i, j, k;
for(i = 0; i < tridimensional.length; i++){
for(j=0; j < tridimensional[i].length; j++){
for(k=0; k < tridimensional[i][j].length; k++){
if(tridimensional[i][j][k]==n) {
exist = true;
}
}
}
}
return exist;
}
谢谢!
请记住 Java 并没有真正的多维数组;它有数组的数组。您需要创建这些子数组:
// I assume here, you've already initialized `tridimensional`
for(i = 0; i < tridimensional.length; i++){
tridimensional[i] = new int[/*...appropriate size here*/]; // <===
for(j=0; j < tridimensional[i].length; j++){
tridimensional[i][j] = new int[/*...appropriate size here*/]; // <===
for(k=0; k < tridimensional[i][j].length; k++){
tridimensional[i][j][k] = (int) (Math.random() * 10+1);
}
}
}
我正在尝试通过索引填充多维数组。当一个索引完成后,再去下一个,...
我必须在没有 arraylist 的情况下执行此操作。
我的代码:
for(i = 0; i < tridimensional.length; i++){
for(j=0; j < tridimensional[i].length; j++){
for(k=0; k < tridimensional[i][j].length; k++){
tridimensional[i][j][k] = (int) (Math.random() * 10+1);
}
}
}
澄清结果:
INDEX:1
79 29 25 84 41 62 81 31 12
63 13 87 71 4 46 21 20 47
85 60 32 37 27 11 33 51 55
INDEX:N
50 82 72 15 74 80 5 17 43
58 52 64 57 76 56 26 2 68
39 54 77 48 70 73 8 86 34
我有一种随机化数字并且不重复的方法。我为二维数组工作,但我想让它在三维数组中为 tridimensional[i] 中的每个矩阵工作。
for(i = 0; i < tridimensional.length; i++){
for(j=0; j < tridimensional[i].length; j++){
for(k=0; k < tridimensional[i][j].length; k++){
do {
rand= (int) (Math.random() * 89+1);
} while (exist(tridimensional, rand));
tridimensional[i][j][k] = rand;
}
}
}
public static boolean exist(int[][][] tridimensional, int n) {
boolean exist = false;
int i, j, k;
for(i = 0; i < tridimensional.length; i++){
for(j=0; j < tridimensional[i].length; j++){
for(k=0; k < tridimensional[i][j].length; k++){
if(tridimensional[i][j][k]==n) {
exist = true;
}
}
}
}
return exist;
}
谢谢!
请记住 Java 并没有真正的多维数组;它有数组的数组。您需要创建这些子数组:
// I assume here, you've already initialized `tridimensional`
for(i = 0; i < tridimensional.length; i++){
tridimensional[i] = new int[/*...appropriate size here*/]; // <===
for(j=0; j < tridimensional[i].length; j++){
tridimensional[i][j] = new int[/*...appropriate size here*/]; // <===
for(k=0; k < tridimensional[i][j].length; k++){
tridimensional[i][j][k] = (int) (Math.random() * 10+1);
}
}
}