我需要生成所有可能的顏色組合(我有8種不同的顏色)的列表,並且希望指定輸出的length
,而無需進入代碼並添加另一個循環。更簡單的方法來做很多嵌套for循環
for (int s1 = 0; s1 < kinds.length; s1++) {
for (int s2 = 0; s2 < kinds.length; s2++) {
for (int s3 = 0; s3 < kinds.length; s3++) {
for (int s4 = 0; s4 < kinds.length; s4++) {
for (int s5 = 0; s5 < kinds.length; s5++) {
String[] guess = new String[length];
guess[0] = colors[s1];
guess[1] = colors[s2];
guess[2] = colors[s3];
guess[3] = colors[s4];
guess[4] = colors[s5];
Possible.add(guess);
}
}
}
}
}
的可能的複製[獲取的字符串的每一種可能的排列或組合,包括在Java中重複字符](http://stackoverflow.com/questions/5113707/getting-every-possible-permutation-of-a-包含字符串或組合的字符) – ACascarino
您只需要1個循環就像增加時鐘一樣。 – Enzokie
[Combinatorics:生成所有「狀態」 - 數組組合]可能的重複(http://stackoverflow.com/q/9632677/5221149) – Andreas