可能重复:
How to generate a random alpha-numeric string in Java如何在java中生成随机字符串?
我想写建立由指定长度的随机字符串代码。 怎么办?
可能重复:
How to generate a random alpha-numeric string in Java如何在java中生成随机字符串?
我想写建立由指定长度的随机字符串代码。 怎么办?
那么,你首先写一个函数,它会给你一个随机的字符满足你的要求,然后根据所需的长度将它包装在for
循环中。
以下程序给出这样一来,使用一组字符常量池和一个随机数发生器的一种方法:
import java.util.Random;
public class testprog {
private static final char[] pool = {
'a','b','c','d','e','f','g',
'h','i','j','k','l','m','n',
'o','p','q','r','s','t','u',
'v','w','x','y','z'};
private Random rnd;
public testprog() { rnd = new Random(); }
public char getChar() { return pool[rnd.nextInt(pool.length)]; }
public String getStr(int sz) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < sz; i++)
sb.append(getChar());
return new String(sb);
}
public static void main(String[] args) {
testprog tp = new testprog();
for (int i = 0; i < 10; i++)
System.out.println (tp.getStr(i+5));
}
}
在一个特定的运行,这给了我:
hgtbf
xismun
cfdnazi
cmpczbal
vhhxwjzbx
gfjxgihqhh
yjgiwnftcnv
ognwcvjucdnm
hxiyqjyfkqenq
jwmncfsrynuwed
现在,您可以调整字符池,如果您希望使用不同的字符集,您甚至可以通过更改在阵列中出现的频率来调整对特定字符的倾斜(更多e
字符比z
,对于e xample)。
但是,这应该是你尝试做的一个好的开始。
以下是生成两种类型字符串的示例。
import java.security.SecureRandom;
import java.math.BigInteger;
public final class SessionIdentifierGenerator
{
private SecureRandom random = new SecureRandom();
public String nextSessionId()
{
return new BigInteger(130, random).toString(32);
}
}
输出:ponhbh78cqjahls5flbdf4dlu4
参考here
String uuid = UUID.randomUUID().toString();
System.out.println("uuid = " + uuid);
输出:281211f4-c1d7-457a-9758-555041a5ff97
参考here
这里是我的答案...您的文章是非常有用......非常感谢 公共类RandomeString { \t \t公共焦炭randomNumber(){ \t \t INT randomNum = 97 + (新随机())。nextInt(122-97); \t \t char randomChar =(char)randomNum; \t \t return randomChar; } \t \t公共字符串随机量(INT N){ \t \t \t StringBuilder的SB =新的StringBuilder(); \t \t \t \t \t \t对(INT I = 0; I
东阳我希望有一个随机输入 – Rojin