我有四个数组,每个数组有 3 个(但可以更多)元素。我正在尝试用每个元素的所有可能组合填充一个 4 x aa.length*bb.length*cc.length*dd.length 数组。我试图用嵌套的 for 循环来做到这一点,但我的逻辑是错误的。我不确定最有效的方法是什么。到目前为止,这就是我缺乏咖啡因的大脑想出的。
String[] AA={DDDD, HHHH, ZZZZ};
String[] BB={DDDD, HHHH, ZZZZ};
String[] CC={DDDD, HHHH, ZZZZ};
String[] DD={DDDD, HHHH, ZZZZ};
String[][] 2Darray = new String[4][AA.length*BB.length*CC.length*DD.length];
for (int i = 0; i <AA.length; i++){
for (int j = 0; j < BB.length; j++){
for (int k = 0; k < CC.length; k++){
for (int L = 0; L < DD.length; L++){
2Darray[3][i+j+k+L] = DD[L];
2Darray[2][i+j+k] = CC[k];
2Darray[1][i+j] = BB[j];
2Darray[0][i] = AA[i];
}
}
}
}
这个的打印输出看起来像:
DDDD DDDD DDDD DDDD
HHHH DDDD DDDD DDDD
ZZZZ DDDD DDDD DDDD
null HHHH DDDD DDDD
null ZZZZ DDDD DDDD
null null HHHH DDDD
null null ZZZZ DDDD
null null null HHHH
null null null ZZZZ
null null null null
null null null null
null null null null
...etc
有什么更好的方法来解决这个问题?