Bir dizideki karakterlerden olası tüm karakter kombinasyonlarını alan özyinelemeli bir yöntem yazdım. Java bunu test ederkenÖzyineleme yöntemi, java'da konsolla birlikte çalışır, ancak android ile değil
public static void uns(String word, StringBuilder s, List combos)
{
for(char c: word.toCharArray())
{
s.append(c);
if(word.length() != 1)
{
uns(removeChar(word, c),s,combos);
}
else
{
combos.add(s.toString());
}
s.deleteCharAt(s.toString().length()-1);
}
}
public static List getCombinations(String word)
{
List<String> combinations = new ArrayList<String>();
uns(word,new StringBuilder(),combinations);
return combinations;
}
public static String removeChar(String s, char c)
{
int index = s.indexOf(c);
return s.substring(0,index)+s.substring(index+1);
}
, hiç kusurları ile koştu: Ben de erişmek ve kombinasyonların listesini döndürmek için bir yöntem var. Bazı nedenlerden dolayı, Android'de kullandığımda, liste doğru sayıda öğe ile doldurulur, ancak her öğe aynıdır. Örneğin, "burada" kelimesi için "eerh" ile dolu bir liste döndürür.
'removeChar()' nedir? – Eric
@Eric Üzgünüm, tekrar düzenleyin. – Wilson