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

原创 2015年07月07日 13:18:27
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);
}


}

相关文章推荐

Java 按指定概率生成由字母、数字、特殊符号组成的密码

package com.demo.uitls;import java.util.Random;/** * 按一定的概率生成一个随机的N位(N>=3)密码,必须由字母数字特殊符号组成,三者缺一不可 ...

java 一组数字的查重算法

今天编程遇到了一个数组查重假排序的问题,以为很简单做起来还真有点费劲。特此参考网上和自己思考动手写了几个查重算法,记录下来以备查看。 算法一、 时间复杂度为n /** * 该方法根据集合类中的s...

Windows安装多个Tomcat服务

1.下载tomcat解压,并复制三份(用压缩版的不要用安装版的) 2.配置环境变量CATALINA_HOME和CATALINA_BASE 3.改端口 修改文件server.xml,修改3个端口...

Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种

Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种 入参为指定的长度,出参为随机生成的密码 JAVA代码 RandomPassword.j...
  • lzxomg
  • lzxomg
  • 2016年08月22日 01:36
  • 3635

解决在VS2005、VWD中创建用户时提示““密码最短长度为 7,其中必须包含以下非字母数字字符: 1。”

asp. net网站管理中、密码最短长度为 7,其中必须包含以下非字母数字字符: 1 2009-12-10 17:07 解决在VS2005、VWD中创建用户时提示““密码最...

字符串字母数字长度统计去空格

  • 2013年05月01日 15:36
  • 308KB
  • 下载

怎么随机生成字母数字验证码并可定义验证码的长度

随机生成字母数字验证码,并可以定义验证码的长度,知码网在这有详细的介绍:   using System; using System.Data; using System.Configurati...

JS生成随机的由字母数字组合的字符串

一:方法一 Math.random().toString(36).substr(2); 输出结果: 解释 很有意思,研究了一下,基本上toString后的参数规定可以是2-36...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java生成指定长度并且包含大小写字母数字字符串示例
举报原因:
原因补充:

(最多只允许输入30个字)