Java字典生成算法讲解
2019-03-28 10:58
316 查看
在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为
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”,这样可以获得所有可能组成的密码字符串即为返回值
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:
相关文章推荐
- JAVA字典生成算法
- 减治法在生成全排列中的应用(JAVA)--回溯、Johnson-Trotter算法、自字典序
- 史上最全的java随机数生成算法[转载]
- Java实现循环冗余码(CRC)生成算法
- JAVA生成问答式验证码图片,支持加减算法
- Java写无向图的基于DFS的最小生成树算法
- 【转】微博URL短网址生成算法原理及(java版、php版实现实例)
- Java 语言实现的随机数生成算法
- 符合lft, rgt的无限分类算法的Java生成代码
- java经典算法_025对随机生成的100以内的10个数进行排序
- java 普里姆(Prim)算法求图的最小生成树
- java公开密钥(N,e)的生成算法
- "选择排序"算法-之通俗易懂原理讲解-java编程
- 微博短链接的生成算法(Java 版本)
- java数独生成算法(递归)
- 算法与数据结构-动态规划 讲解与java代码实现
- 史上最全的java随机数/字符串生成算法(转)
- 微博短链接的生成算法(Java版本)
- 排列生成算法实现java
- 微博URL短网址生成算法原理及(java版、php版实现实例)