1 做一个数字和字母的字符串,或者char[]也行 2 使用random 生成一个随机的索引数字,比如 Random r = new Random(); int index = r.nextInt(str.length()); // 索引不超过字符串的最大长度 char c = str.charAt(index); 3 循环,拼装吧!
把26个字母和10个数字加到一个数组里。 Vector vt =new Vector(); for (int i = 0; i < 10; i++) { Integer t =new Integer(i); vt.add(t.toString()); } vt.add('a'); vt.add('b'); vt.add('c'); vt.add('d'); vt.add('e'); vt.add('f'); vt.add('g'); vt.add('h'); /* * 一直加到z。 * * */ Random r =new Random(); StringBuffer rwords =new StringBuffer(); for (int i = 0; i < 4; i++) { int t = r.nextInt(vt.capacity()); rwords.append(vt.get(i)); } System.out.println(rwords); 搞定了。这个有点麻烦如果在C++或在C#里面就更简单了。
public static String gen(int n) { Random r = new Random(); String randstr = ""; for (int i = 0; i < n; i++) { randstr += (char)(r.nextBoolean()?(r.nextInt(26)+(int)'a'):(r.nextInt(26)+(int)'a'-32)); } return randstr; }
...You also can create a String array includes [A-Za-z0-9], and get elements at random...
public String randomSrtring(int i) { String str="组成字符"; Random rand=new Random(); StringBuffer generateRandStr = new StringBuffer(); for(int j=0;j<i;j++) { generateRandStr.append(str.charAt(rand*str.length)); } return str1; }
先写个数组.转成list不行了. 搞这么麻烦
String str="abcdefghijklmnopqrstuvwxyz1234567890"; Random r = new Random(); int n=4; for(int i=0;i<n;i++){ int index = r.nextInt(str.length()); char c = str.charAt(index); System.out.print(c); 笨方法 效果达到了
2 使用random 生成一个随机的索引数字,比如
Random r = new Random();
int index = r.nextInt(str.length()); // 索引不超过字符串的最大长度
char c = str.charAt(index);
3 循环,拼装吧!
Vector vt =new Vector();
for (int i = 0; i < 10; i++) {
Integer t =new Integer(i);
vt.add(t.toString());
}
vt.add('a');
vt.add('b');
vt.add('c');
vt.add('d');
vt.add('e');
vt.add('f');
vt.add('g');
vt.add('h');
/*
* 一直加到z。
*
* */
Random r =new Random();
StringBuffer rwords =new StringBuffer();
for (int i = 0; i < 4; i++) {
int t = r.nextInt(vt.capacity());
rwords.append(vt.get(i));
}
System.out.println(rwords);
搞定了。这个有点麻烦如果在C++或在C#里面就更简单了。
{
Random r = new Random();
String randstr = "";
for (int i = 0; i < n; i++)
{
randstr += (char)(r.nextBoolean()?(r.nextInt(26)+(int)'a'):(r.nextInt(26)+(int)'a'-32));
}
return randstr;
}
{
String str="组成字符";
Random rand=new Random();
StringBuffer generateRandStr = new StringBuffer();
for(int j=0;j<i;j++)
{
generateRandStr.append(str.charAt(rand*str.length));
}
return str1;
}
先写个数组.转成list不行了. 搞这么麻烦
Random r = new Random();
int n=4;
for(int i=0;i<n;i++){
int index = r.nextInt(str.length());
char c = str.charAt(index);
System.out.print(c);
笨方法 效果达到了