我有一個數組(JAVA)是這樣的:如何獲得所有可能的組合在Array
String arrName[] = {"John","Paul","Luke","Ana"};
,我想有一個像這樣的輸出:
JohnPaul
JohnLuke
JohnAna
PaulJohn
PualLuke
PaulAna
LukeJohn
LukePaul
LukeAna
AnaJohn
AnaPaul
AnaLuke
有人可以幫助我?
我有一個數組(JAVA)是這樣的:如何獲得所有可能的組合在Array
String arrName[] = {"John","Paul","Luke","Ana"};
,我想有一個像這樣的輸出:
JohnPaul
JohnLuke
JohnAna
PaulJohn
PualLuke
PaulAna
LukeJohn
LukePaul
LukeAna
AnaJohn
AnaPaul
AnaLuke
有人可以幫助我?
您正在尋找這樣的事情: -
for(int i=0 ; i < arrName.length ; i++){
for(int j=0; j< arrName.length; j++){
if(j != i){
System.out.println(arrName[i]+arrName[j]);
}
}
}
做陣列和陣列的嵌套foreach循環形式的副本之間的交叉產品。跳過等於海誓山盟
String[] copyArrName = arrName;
for (String name : arrName){
for (String otherName: copyArrName){
if(name != otherName)
System.out.println(name + " " + otherName);
}
}
這會給你所需的輸出
它會減少組合的情況下,如果他有重複條目陣列。 var array Name = {「John」「Paul」,「John」}。這段代碼將跳過johnjohn。 – Panther 2014-12-08 05:33:01
不錯,我們應該使用引用字符串比較而不是字符串相等比較。編輯傳入! – Freestyle076 2014-12-08 05:34:18
你需要一些組合algorythm做到這一點[組合](http://en.wikipedia.org/wiki/Combination名稱)這裏是解決你的問題的庫[combinatoricslib](https://code.google.com/p/combinatoricslib/) – Milkmaid 2014-12-08 05:16:53
你想知道的解決方案或只是有人可以幫忙或不::) – Panther 2014-12-08 05:24:28
可能的重複[一個數組的所有可能的組合](http://stackoverflow.com/questions/5162254/all-possible-combinations-of-an-array) – 2014-12-08 05:35:39