Java字典生成算法讲解
时间:2021-05-28 08:01:52|栏目:JAVA代码|点击: 次
在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为
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代码
下一篇:2020 IDEA安装教程与激活(idea2020激活码)
本文标题:Java字典生成算法讲解
本文地址:http://www.codeinn.net/misctech/130593.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




