首页 > 编程 > Java > 正文

Java字典生成算法讲解

2019-11-26 09:15:13
字体:
来源:转载
供稿:网友

在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为

class CreateDic{ private int BitNum; private String Str; public void SetBitNum(int num) { BitNum=num; } public void SetStr(String str) { Str=str; } public int GetBitNum(){ return BitNum; } public String GetStr(){ return Str; } public List<String> GetDic(){ int[] tmparray=new int[BitNum]; List<String> final_list=new ArrayList<String>(); String result=""; for(int i=0;i<BitNum;i++)  tmparray[i]=0; int nCount=0; while(true) {  result="";  for(int i=0;i<BitNum;i++)  {  result+=Str.charAt(tmparray[i]);  }  nCount++;  System.out.println(result);  final_list.add(result+"/r/n");  //开始进行下一轮循环  int length=Str.length();  int mark=0;  for(int j=BitNum-1;j>=0;j--)  {  if(tmparray[j]==length-1){   if(j!=0){   continue;   }   else{   mark=1;   break;   }  }  else{   tmparray[j]++;   for(int k=j+1;k<BitNum;k++)   {   tmparray[k]=0;   }   break;  }  }  if(mark==1){  break;  } } System.out.println("一共输出密码个数:"+nCount); return final_list; }}

可以这么说如若组成密码的字符一共有3个分别是"abc",而密码长度是6,则BitNum可以设置为6 而Str的内容则为“abc”,这样可以获得所有可能组成的密码字符串即为返回值

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对武林网的支持。如果你想了解更多相关内容请查看下面相关链接

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表