java 遍历aaaaaa-zzzzzz正序叙组合
时间: 2023-09-27 12:08:43 浏览: 96
以下是Java代码实现:
```
public class Combination {
public static void main(String[] args) {
int start = 97; // 'a'的ASCII码
int end = 122; // 'z'的ASCII码
int n = 6; // 组合的长度
int[] index = new int[n];
for (int i = 0; i < n; i++) {
index[i] = start;
}
while (true) {
for (int i = 0; i < n; i++) {
System.out.print((char)index[i]);
}
System.out.println();
int j = n - 1;
while (j >= 0 && index[j] == end) {
j--;
}
if (j < 0) {
break;
}
index[j]++;
for (int k = j + 1; k < n; k++) {
index[k] = start;
}
}
}
}
```
代码说明:
1. 首先定义了起始字符和结束字符的ASCII码,以及组合的长度n。
2. 然后创建一个长度为n的整型数组index,用于存储当前组合的字符。
3. 初始化index数组为起始字符的ASCII码。
4. 进入一个无限循环,循环体内先输出当前组合的字符。
5. 然后查找从右往左第一个可以增加的字符,并将该字符增加1,同时将该字符右侧的所有字符都重置为起始字符。
6. 如果所有字符都已达到结束字符,那么退出循环。
7. 最终输出的结果即为从aaaaaa到zzzzzz的所有正序组合。
阅读全文