java怎么随机生成一个字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么随机生成一个字符串?相关的知识,希望对你有一定的参考价值。
就是和随机数一样随机生成一个字符串
/*** 产生随机字符串
* */
private static Random randGen = null;
private static char[] numbersAndLetters = null;
public static final String randomString(int length)
if (length < 1)
return null;
if (randGen == null)
randGen = new Random();
numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyz" +
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
//numbersAndLetters = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
char [] randBuffer = new char[length];
for (int i=0; i<randBuffer.length; i++)
randBuffer[i] = numbersAndLetters[randGen.nextInt(71)];
//randBuffer[i] = numbersAndLetters[randGen.nextInt(35)];
return new String(randBuffer);
//调用此方法randomString(int),int是字符串的长度,即可产生指定长度的随机字符串。 参考技术A 我的思路:
1,定义一个字符数组;
2,随机生成一个int数,范围是此数组的长度;
3,利用生成的int数,取数组中的字符;
4,可以用for循环,多取几次,并连接成字符串;
仅作参考,不懂再问! 参考技术B public static String getRandomString(int length) //length表示生成字符串的长度
String base = "abcdefghijklmnopqrstuvwxyz0123456789"; //生成字符串从此序列中取
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++)
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
return sb.toString();
参考技术C 两个方法。 1 。生成2~3为随机数 将他们最为ascii编码生成字符。例如 随即生成 65 就是 “A”以此类推。缺点 会生成 无法显示的字符 例如 13 回车等。
2。做个数组里面存入你要生成的字符编码 例如a~z,0~9,A~Z 等。 然后随即生成一个数 , 把这个数作为下标取字符。 参考技术D 元素是一样的,字符串有字符组成,字符有具体的int码
如果想偷懒,commons-lang.jar其下的现成的类StringUtils
java生成指定范围内随机秒数
我想生成一个在20~50秒内的随机秒数 请问该怎么生成呢?
参考技术A (int)(Math.random()*30+20) 不包含50;(int)(Math.random()*31+20) 包含50本回答被提问者采纳 参考技术B int a=(int)(Math.random()*30+20);以上是关于java怎么随机生成一个字符串?的主要内容,如果未能解决你的问题,请参考以下文章