首页 > 解决方案 > Java - 如何获取字符串中所有可能的字母组合?

问题描述

有没有办法获得给定字符串的所有可能的字母组合?我不想忽略双字母。我也想得到所有的可能性,即使不是每个字母都被使用。例如:字符串是ABCDE,所以我也想看看BCDE、ACDE、ABDE、ABCE、ABCD的组合

我已经尝试过这里找到的代码,但我认为并非所有组合都包括在内。

public class Main {

    private StringBuilder output = new StringBuilder();
    private final String inputstring;
    public Main( final String str ){
        inputstring = str;
        System.out.println("The input string is : " + inputstring);
    }

    public static void main(String[] args) {
        Main main= new Main("VRIDENNBEN");
        System.out.println("All possible combinations are : ");
        main.combine();
    }

    public void combine() {
        combine( 0 );
    }

    private void combine(int start ){
        for( int i = start; i < inputstring.length(); ++i ){
            output.append( inputstring.charAt(i) );
            if(true) {
                System.out.println( output );
                if ( i < inputstring.length() )
                    combine( i + 1);
                output.setLength( output.length() - 1 );
            }

        }
    }
}

标签: java

解决方案


推荐阅读