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);
}
}
/**
* 随机生成输入长度的字符串,生成策略:前序列位[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);
}
}
相关文章推荐
- org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document
- 【Java】Java Arrays类进行数组排序
- ActiveMQ集成到Spring
- struts2 类型转化(typeConverter)
- MyBatis及Spring事务初学总结
- javaproject积累——java 反射 invoke
- Java基础日记———Collection
- java类和对象
- Spring Data JDBC Extensions - Core JDBC Extensions (概述)
- 配置Java环境变量的原因
- Java 接口和抽象类区别
- eclipse debug java源码时时总是显示 source not found
- Spring整合Tiles
- 使用ical4j和javamail发送会议邀请
- Eclipse Class Decompiler——Java反编译插件
- 怒学Java8系列一:Lambda表达式
- 比较器报错:Comparison method violates its general contract
- synchronized,当作用于方法与对象的不同之处
- Intellij Idea 的maven 项目会在 右键菜单 maven reimport 变成jdk 1.5
- Java极度性能调整