Java字典生成算法讲解
作者:世纪殇 时间:2023-11-25 00:17:29
在实际应用中,大家使用的密码可以说多种多样,但是无论有多少,其组成不遑是有可打印字符组成的,我们可以认为
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
标签:java,字典,算法
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring Boot配置线程池拒绝策略的场景分析(妥善处理好溢出的任务)
2022-08-05 07:12:24
Unity3D撤回命令开发详解
2022-01-15 09:26:21
![](https://img.aspxhome.com/file/2023/8/116608_0s.gif)
WinForm下 TextBox只允许输入数字的小例子
2023-08-02 15:34:14
Mybatis 动态SQL的几种实现方法
2023-11-10 12:15:15
Java算法比赛常用方法实例总结
2023-11-28 07:15:26
![](https://img.aspxhome.com/file/2023/4/59984_0s.png)
Java生产者消费者模式实例分析
2023-12-13 02:12:59
![](https://img.aspxhome.com/file/2023/5/92635_0s.jpg)
Java编程中使用throw关键字抛出异常的用法简介
2023-08-27 17:04:19
![](https://img.aspxhome.com/file/2023/9/58209_0s.png)
Spring框架基于注解开发CRUD详解
2021-08-04 03:39:03
![](https://img.aspxhome.com/file/2023/7/111447_0s.jpg)
Java TreeMap排序算法实例
2023-02-25 10:26:20
Android 2.3.7.r1 camera录像过程中按menu菜单键时会停止录像
2023-06-13 01:46:10
C语言内存操作函数详解
2021-09-01 01:50:36
![](https://img.aspxhome.com/file/2023/4/114934_0s.png)
SpringBoot整合Elasticsearch7.2.0的实现方法
2023-11-09 19:22:56
![](https://img.aspxhome.com/file/2023/6/113406_0s.png)
C#删除文件目录或文件的解决方法
2022-12-13 09:25:03
解决@Autowired注入static接口的问题
2022-01-02 03:16:29
springboot实现基于aop的切面日志
2022-09-09 11:53:11
浅谈c++11线程的互斥量
2023-02-14 18:00:44
![](https://img.aspxhome.com/file/2023/6/116586_0s.png)
解决mybatis分页插件PageHelper导致自定义拦截器失效
2023-10-13 07:24:29
python调用java模块SmartXLS和jpype修改excel文件的方法
2023-06-11 16:59:21
利用Thumbnailator轻松实现图片缩放、旋转与加水印
2022-03-26 18:44:04
![](https://img.aspxhome.com/file/2023/0/78050_0s.jpg)
Android10 App启动Activity源码分析
2023-08-21 04:13:04