所以我正在创建一个程序,输出从 A 到 E 的 3 个随机字母。问题是它还应该包括小写 A 到 E( A,a,B,b,C,c,D,d,E ,e)
这是我用来打印随机字母的。
letterValue = (char) (rand.nextInt(5) + 'A');
System.out.print(letterValue);
变量“letterValue”应打印出 A 到 E,包括大写和小写。
最佳答案
一种非常优雅的方法:只需使用一个数组,其中包含您想要“随机”的值;然后洗牌该数组。当你转向Javas List类时,你可以使用内置的shuffle方法:
喜欢:
List<Character> values = Arrays.asList('A', 'a', ... );
Collections.shuffle(values);
如果你坚持使用字符数组而不是 List<Character>
...您仍然可以使用上述方法,因为您也可以轻松地将 List 转换为这样的数组(例如,请参阅 here)。
不使用数组时,可以“抛一枚硬币”;含义:只是获取另一个随机值,可能是 0 或 1。与 0;只保留大写值;对于 1,简单地使用相应的小写值。
(你知道你也可以使用“数学”从“A”到“a” - 类似于你已经在这里做的事情)
关于输出字母(A 到 E)的 Java Random 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40555305/