求助!!java组合的问题,用了arraylist
输入一个n 和 k 求 从n个字母中挑出k个字母的所有组合
没有编译错误,但是没有输出 为甚阿??
是不是arrList出错了?
代码如下:
import java.util.Scanner;
import java.util.ArrayList;
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Length");
int n = input.nextInt();
int k = input.nextInt();
char arrinput[] = new char [n] ;
int num = 0;
for (char i = 'A'; num <= n - 1 ; i++){ // 生成含n个字母的数组
arrinput[num] = i;
num++;
}
char[][] arr = combinations(arrinput, k);
for (int i = 0; i < arr.length; i++)
{
for (int j = 0; j < arr[i].length; j++)
System.out.print(arr[i][j] + " ");
System.out.print(" ");
}
}
/**
* @param charArray 输入的数组
* @param k 选取的个数
*/
public static char[][] combinations(char[] charArray, int k) {
ArrayList<char[]> arrList = new ArrayList<char[]>();
int record[] = new int[k];
int n = charArray.length;
combination(record, charArray, n, k, 0, 0);
char[][] combinationsArr = new char[arrList.size()][k];
for (int i = 0; i < arrList.size(); i++)
{combinationsArr[i] = arrList.get(i);}
return combinationsArr;
}
/**
* @param record 记录组合序列数组
* @param charArray 记录组合序列数组
* @param n 长度