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

Java生成指定长度并且包含大小写字母数字字符串示例

2015-07-07 13:18 806 查看
public class JUID {

/**

* 随机生成输入长度的字符串,生成策略:前序列位[A-Z]-[0-9]-[a-z]{length/3},后余位随机

* @param length 所要生成的字符串长度

* @return String 生成的随机字符串

*/

public String createUID(int length){

if(length<3){//如果输入的长度小于3,那么就返回空字符串

return "";

}

char[] ss = new char[length];//存放生成的字符串

int i=0;

int index = 0;//索引位置

int standard = length/3;//前几位必须包含大小写字母数字

//标准随机策略,可做相应更改

while(i<standard) {

ss[index] = (char) ('A'+Math.random()*26);//随机一个大写字母

ss[index+1] = (char) ('0'+Math.random()*10); //随机一个数字

ss[index+2] = (char) ('a'+Math.random()*26); //随机一个小写字母

i++;

index = index+3;

}

//后续位数随机生成

while(index<length){

int f = (int) (Math.random()*length);//生成随机长度数

if(f>index-1)

ss[index] = (char) ('A'+Math.random()*26);

else if(f>index-3)

ss[index] = (char) ('a'+Math.random()*26);

else

ss[index] = (char) ('0'+Math.random()*10);

index++;

}

return new String(ss);

}

/**

* @param args

*/

public static void main(String[] args) {

JUID juuid = new JUID();

int length = 3;

String str = juuid.createUID(length);

System.out.println(str);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: