Java生成所有可能的字符串组合

时间:2014-03-15 22:27:57

标签: java algorithm permutation

我正在寻找一种算法,该算法会返回一个包含x字符和定义长度的所有可能组合的列表。

例如,当我有字符a和b以及长度为2时,我想得到这个输出:

a
b
aa
ab
ba
bb

但我也希望代码可以恢复,这样我就可以保存当前的组合/位置并恢复完全相同的组合/位置。

这是我的第一次尝试,它工作正常,但它不可恢复或至少我不知道该怎么做:

public class test {
    static char[] chars = "ab".toCharArray();
    static int maxLength = 2;

    public static void main(String[] args) {
        nextString("");
    }

    private static void nextString(String s) {
        int i = 0;
        while (i < chars.length) {
            String snew;
            snew = s + new Character(chars[i]).toString();
            System.out.println(snew);
            if (snew.length() <= maxLength - 1)
                nextString(snew);

            i++;
        }
    }

}

0 个答案:

没有答案