如何生成随机数字字符串+随机字符串并组合?

时间:2014-01-20 16:26:14

标签: java string random char

我要做的是生成随机数字序列E.G 2645237和A-Z E.G.范围内的字符串中的一个字符。 W并将两个弦组合成2645237W。我可以生成随机数没问题。我坚持的是:1。生成随机字符串作为字符串。 2.组合两个字符串以创建一个字符串。要明确它的用途是在我的标记中获得一些额外的学分。像往常一样,我不是在寻找完整的答案。一些伪代码或一个工作示例会很好,但我想要最终的“A-HA!”那一刻是我自己的事。最后一个参数。这个最终结果(一个字符串)需要生成50次不同(我可以这样做),然后用作一种密码。 (意味着要复制一个PPS号码,添加的字符是我整个班级难以理解的一点)。

我不打算欺骗我的方式来编码答案,只是坚持这个问题(我们都去过那里)

3 个答案:

答案 0 :(得分:2)

您可以通过执行'a'(或大写为'A')生成随机字符,然后生成0到25之间的随机数并将其添加到其中。即'a'+3'd'。请注意,使用单引号字符表示这是char字面值,而不是String字面值的双引号。

然后可以将该随机字符附加到字符串中。 StringBuilder会很容易地为你做,我不确定String +运算符会用它做什么。

答案 1 :(得分:0)

尝试,

Random rn        = new Random();
int    range     = 9999999 - 1000000 + 1;  
int    randomNum =  rn.nextInt(range) + 1000000;  // For 7 digit number
System.out.println(randomNum);

Random rc = new Random();
char   c  = (char)(rc.nextInt(26) + 'A');
System.out.println(c);

String str = randomNum+""+c;        
System.out.println(str);

str打印像1757217Y

答案 2 :(得分:0)

要生成字母并附加到您的号码序列:

String msg1 = "random number sequence";
Random gen = new Random();
char c = (char) (65 + gen.nextInt(26));
StringBuilder sb = new StringBuilder();
sb.append(msg1);
sb.append(c);
String result = sb.toString();
System.out.println(result);

顺便说一下,65是字母'A'的ascii代码,gen.nextInt(26)生成0到25之间的数字,即,我们有一个介于65和90之间的范围,即字母'A' ascii表中的-'Z'