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