我想製作一個程序,可以使某些單詞不混雜。
我需要嘗試所有可能組合的單詞,然後檢查它是否包含在名爲dict
的String變量中。爪哇:'for'循環的未知數
我的代碼是:
public class UnJumble
{
public static void main(String args[])
{
String dict = "cat, rat, mat dog, let, den, pen, tag, art,";
String t = "tra";
int l = t.length();
for(int i=0; i<l; i++)
{
char a=t.charAt(i);
t = t.replaceFirst(a+"","");
l--;
for(int j=0; j<l; j++)
{
char b = t.charAt(j);
t = t.replaceFirst(b+"","");
l--;
for(int k=0; k<l; k++)
{
char c = t.charAt(k);
if(dict.contains(""+a+b+c+","))
{
System.out.println("\'"+a+b+c+"\' found.");
break;
}
}
l++;
t = new StringBuilder(t).insert(j,b+"").toString();
}
t = new StringBuilder(t).insert(i,a+"").toString();
l++;
}
}
}
變量t
包含單詞是未混亂。
有了這個代碼,輸出爲:
'rat' found.
'art' found.
我想,我需要儘可能多的for
循環,因爲作爲字符字符串t
。
但我想使它能夠解開未知長度的混亂單詞。那麼我怎麼能做到這一點?
我試過在互聯網上搜索,所以在SO上。我發現了一些用其他編程語言編寫的答案,我不明白。
查找遞歸方法;) –
第一個循環,其中包含最多的兩個詞:可以製作的最大詞的組合,即n個字母可以產生一定數量的組合(用於計算的搜索組合),或者總字典字數(以較低者爲準)。 –
你只是想排列't'。見例如http://stackoverflow.com/questions/4240080/generating-all-permutations-of-a-given-string – dejvuth