String[] test = { "la", "li", "lo" };
language(3, test);
private String language(int n, String[] syllables) { // example of N = 3
for (int i = 0; i < syllables.length; i++) {
String w1 = syllables[i];
for (int j = 0; j < syllables.length; j++) {
String w2 = syllables[j];
for (int x = 0; x < syllables.length; x++) {
String w3 = syllables[x];
System.out.println(w1 + w2 + w3);
}
}
}
}
我想創建一個可以創建任何形式的字符串數組的遞歸方法。 但我無法做到這一點遞歸字符串數組的排列
變量
n = amount of syllables
syllables = String Array of the base words
輸出
lalala
lalali
lalalo
lalila
lalili
lalolo
lilala
lolala
lilili
lololo
......
您需要選擇單個字符,然後選擇其他字符。然後在String中的* other character *上調用相同的permutation()方法。如果字符串== 2的大小返回原始以及其相反。連接負面調用返回的所有字符串。快樂的編碼。 – TheLostMind 2014-09-11 08:31:32
你知道輸出中會有''n^n'''字符串(如果所有元素都是唯一的)? – 2014-09-11 08:33:27
我認爲嚴格來說,lalala並不是3弦的排列。一個排列需要在每個字符串中都有3個字符串 – shlomi33 2014-09-11 08:39:11