java实现:从26个字目中任取5个字母,排列组合出所有的可能,打印出来

来源:百度知道 编辑:UC知道 时间:2024/09/18 03:52:02
一个排列组合问题。求算法。
就是从26个字母中,任意取出5个字母。然后,这5个字母排序,排序把所有的可能都排到。
26个字母,任意5个字母都这么排。
这个算法怎么实现呢?谢谢大家。给30分。

package baidu.testTwo;

public class Sort {
private static char[] NUM = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z' };// 所有的字母数

public char[] randNum(int num) {// 随机选取num个数
char[] s = new char[num];// 定就num个长度的字符数组
int i = 0;// 计算循环数
int n = 0;// 控制循环
while (i < num) {
char c = NUM[(int) (Math.random() * NUM.length)];// 随机出一个字符,将其赋给c
for (int j = 0; j < s.length; j++) {// 这个循环是除去重的字符
if (s[j] == c)
{// 如果有重复的则终止循环
n = 1;// 将n=1
break;// 终止for循环
}
}

if (n == 1) { // 如果n==1,则进入下一个while循环
n = 0; // 将n还原 n=0;
continue;