Java 穷举问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:28:03
帮忙写个方法; 是穷举所有可能的字母和数字组合 包括0-9 ,a-z ,A-Z

参数是个int ,返回值是个String[]
参数是表示多少位的密码,比如 参数是 8,就表示由0-9 ,a-z ,A-Z所组成 所有可能的8位密码;

谢谢啦;
---------

不用担心电脑负担问题,我好几台电脑,连续开两个月,能算出来多少是多少,如果效率太低,我可能会去借双四核至强的工作站;当然,这种程序重点还是要效率哈。
主要是现在我没工夫写,如果这几天事忙完了没人答我就自己写了。

写不出来的同学就请沉默,谢谢合作

没有什么是绝对的,什么叫这个问题没人会解决的?
这个我正好有相应的解法,等一下贴出来:
//不用穷举法,用递归
public class InnerLoops {
public static void main(String[] args) {
String a = "0123456789";//可变
int rows = 3;//可变
char[][] c = new char[rows][];
for(int i=0; i<rows; i++)
c[i]=a.toCharArray();
inner(c,0,0);
}
public static final void inner(char[][] array,int currentRow,int currentColumn){
if(currentColumn<array[currentRow].length){
if(currentRow==array.length-1){
print(array);
}
if(hasNext(array,currentRow)){
inner(array,currentRow+1,0);
}
ring(array,currentRow);
inner(array,currentRow,currentColumn+1);
}
}
private static final boolean hasNext(char[][] array, int row) {
return array.length>row+1;
}
private static final void print(char[][] array) {
System.out.println(toString(array));
}
private static final