private static void getCombination(List<String> slist,
                                       char[] a,
                                       int n,
                                       int begin,
                                       char[] b,
                                       int index) {
        if (n == 0) {// 如果够n个数了，输出b数组
            getAllPermutation(slist, b, 0);// 得到b的全排列
            return;
        }
        for (int i = begin; i < a.length; i++) {
            b[index] = a[i];
            getCombination(slist, a, n - 1, i + 1, b, index + 1);
        }

    }
private static void getCombination(List<String> slist,
                                       char[] a,
                                       int n,
                                       int begin,
                                       char[] b,
                                       int index) {
        if (n == 0) {
            getAllPermutation(slist, b, 0);
            return;
        }
        for (int i = begin; i < a.length; i++) {
            b[index] = a[i];
            getCombination(slist, a, n - 1, i + 1, b, index + 1);
        }

    }
private static void getCombination ( List < String > slist , char [ ] a , int n , int begin , char [ ] b , int index ) { if ( n == 0 ) { // 如果够n个数了，输出b数组
 getAllPermutation ( slist , b , 0 ) ; // 得到b的全排列
 return ; } for ( int i = begin ; i < a . length ; i ++ ) { b [ index ] = a [ i ] ; getCombination ( slist , a , n - 1 , i + 1 , b , index + 1 ) ; } }
--------------------------- 以下为几个辅助方法
--------------------------- 以下为几个辅助方法