700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 生成由数字大小写字母组成的随机字符串

生成由数字大小写字母组成的随机字符串

时间:2020-07-25 20:36:37

相关推荐

生成由数字大小写字母组成的随机字符串

方法功能:生成用户指定长度的字符串,由数字、大写字母、小写字母组成,其中数字、大小写字母出现的概率由用户指定。

思路:利用random函数生成的随机数决定生成数字、小写字母还是大写字母,生成数字的概率等于其生成区间与总区间长度之比,其他类比。之后再利用随机函数生成特定集合的字符。(random函数生成的随机数在区间[0,1]之间,由数字、大小写字母概率之比对区间进行分割,随机数落在特定分割后的区间就生成对应集合的字符)

public static String RandomStr(double NumRate,double LowerCaseRate, double UpperCaseRate, int length){if(length<=0 || NumRate + LowerCaseRate + UpperCaseRate != 1 || NumRate < 0 || LowerCaseRate <0 || UpperCaseRate <0){System.out.println("参数错误!");return null;}char ch=0;String str = "";for (int i = 0; i < length; i++) {double randomNum = Math.random();if(randomNum>(1 - LowerCaseRate)){ch=(char)(Math.random()*26+97);//生成小写字母}else if(randomNum>(1 - LowerCaseRate - UpperCaseRate)){ch=(char)(Math.random()*26+65);//生成大写字母}else {ch = (char)(Math.random()*10+48);//生成数字}str += ch;//连接新生成的字符}return str;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。