软件编程
位置:首页>> 软件编程>> java编程>> Java字典生成算法讲解

Java字典生成算法讲解

作者:世纪殇  发布时间:2023-11-25 00:17:29 

标签: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”,这样可以获得所有可能组成的密码字符串即为返回值

来源:https://blog.csdn.net/dasgk/article/details/49761857

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com