返回固定长度的字符串,必须有数字,大字母小写字母,不能连续4位以上
2016-04-22 15:22
435 查看
返回固定长度的字符串,必须有数字,大字母小写字母,不能连续4位以上
public static String getPass(int length){
int[] flag={0,0};
char[] jg=new char[length];
int count=0,lx=-1,lxcount=0;
while(flag[0]==0||flag[1]==0||count<length){
int one=(int) (Math.random()*2%2);
System.out.println("lxcount="+lxcount);
if(lxcount>4){
one=lx==0?1:0;
lxcount=0;
}
if(one==0){
char on=(char) ('0'+Math.random()*10%10);
jg[count]=on;
System.out.println("数字="+on);
lxcount++;
lx=0;
}else{
int ondx=(int) (Math.random()*2%2);
char on= (char) (ondx==0?'A'+Math.random()*26%26:'a'+Math.random()*26%26);
jg[count]=on;
System.out.println("字母="+on);
lxcount++;
lx=1;
}
flag[one]=1;
count++;
}
return new String(jg);
}
public static String getPass(int length){
int[] flag={0,0};
char[] jg=new char[length];
int count=0,lx=-1,lxcount=0;
while(flag[0]==0||flag[1]==0||count<length){
int one=(int) (Math.random()*2%2);
System.out.println("lxcount="+lxcount);
if(lxcount>4){
one=lx==0?1:0;
lxcount=0;
}
if(one==0){
char on=(char) ('0'+Math.random()*10%10);
jg[count]=on;
System.out.println("数字="+on);
lxcount++;
lx=0;
}else{
int ondx=(int) (Math.random()*2%2);
char on= (char) (ondx==0?'A'+Math.random()*26%26:'a'+Math.random()*26%26);
jg[count]=on;
System.out.println("字母="+on);
lxcount++;
lx=1;
}
flag[one]=1;
count++;
}
return new String(jg);
}
相关文章推荐
- Animation.setFillAfter的作用
- 最近面试Android的一些面试题
- 《翻译漫谈》笔记之6 翻译“被”“使”“so...that...”
- jtable中某列实现html中a标签效果,鼠标移到上面去的时候显示手型效果
- ORACLE分区表的查询(使用分区键查询自动默认)
- 使用Intent传递对象--Android学习笔记4
- 最近面试Android的一些面试题
- POJ 2352 Stars 树状数组
- Underscore.js常用方法总结
- 57. Insert Interval
- 一个简单的写入文件内容的小demo
- Spring+SpringMVC+Mybatis 跳转流程 :
- 01.Win10 系统下python3.4连接mysql数据库
- iOS上架之启动页、图标设置
- Maven入门详解
- iOS SVN
- HDU 4497 GCD and LCM (素数筛选+算术基本定理)
- log4net在Realse下有个好大的坑呀。
- 向量积的求导法则
- javascript常用数组算法总结