您的位置:首页 > 编程语言 > Java开发

java产生随机数,适合用于验证码,数字加字母的

2014-06-06 10:18 405 查看
package cn.nahan.cd.util;

public class RandomValidateCode {
/**
* 创建指定数量的随机字符串
* @param numberFlag 是否是数字
* @param length
* @return
*/
public static String createRandom(boolean numberFlag, int length){
String retStr = "";
String strTable = numberFlag ? "1234567890" : "1234567890abcdefghijkmnpqrstuvwxyz";
int len = strTable.length();
boolean bDone = true;
do {
retStr = "";
int count = 0;
for (int i = 0; i < length; i++) {
double dblR = Math.random() * len;
int intR = (int) Math.floor(dblR);
char c = strTable.charAt(intR);
if (('0' <= c) && (c <= '9')) {
count++;
}
retStr += strTable.charAt(intR);
}
if (count >= 2) {
bDone = false;
}
} while (bDone);

return retStr;
}
public static void main(String[] args) {
//当为true的时候,就全是数字,为false是数字加英文
System.err.println(RandomValidateCode.createRandom(true,5));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: