看以下的程序,循环比较多。那是为了得到参数长度的字符串,
如果每次只需要得到指定长度,就不需要这么多。
或者直接对各长度,用switch语句
程序我执行正确,你可以参考写出更多的public class charlist 
{public static void main(String[] args){
   showAllStr(3);
}static void showAllStr(int len){
    String str = null ;
    String mstr="abcde";// 所有需要猜解的字符列举
    int mlen=mstr.length();
if ( mlen<len )
    {
System.out.println("the String length is too long!");
}
    else
{
    for (int i=0;i<mlen;i++ )
    { 
   for (int j=0;j<mlen ;j++ )
   {
   for (int k=0;k<mlen ;k++ )
   {
   for (int ii=0;ii<mlen ;ii++ )
   {
   for (int jj=0;jj<mlen ;jj++ )
   {
                           str="ssss"+mstr.charAt(i)+mstr.charAt(j)+mstr.charAt(k)+mstr.charAt(ii)+mstr.charAt(jj);//"ssss"是为了保证字符加到字符串上自动在转换
   str=str.substring(4,4+len);
   System.out.println(str);
   }
   }
   }
   }
    }



}
}
}