Java字典生成算法講解
在實際應(yīng)用中,大家使用的密碼可以說多種多樣,但是無論有多少,其組成不遑是有可打印字符組成的,我們可以認(rèn)為
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");
//開始進(jìn)行下一輪循環(huá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("一共輸出密碼個數(shù):"+nCount);
return final_list;
}
}
可以這么說如若組成密碼的字符一共有3個分別是"abc",而密碼長度是6,則BitNum可以設(shè)置為6 而Str的內(nèi)容則為“abc”,這樣可以獲得所有可能組成的密碼字符串即為返回值
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
從application.properties配置文件獲取的漢字亂碼的解決方法
平時從配置文件各種讀取配置參數(shù)都正常,但是有時候放了個中文就亂碼,你肯定試過網(wǎng)上好多方法,都沒解決,那么來看下面,恭喜你終于找這里了,本文給大家介紹了從application.properties配置文件獲取的漢字亂碼的解決方法,需要的朋友可以參考下2024-03-03
Java NIO 文件通道 FileChannel 用法及原理
這篇文章主要介紹了Java NIO 文件通道 FileChannel 用法和原理,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01

