在Java中,你如何随机选择一个字母(a-z)?

2022-09-03 04:08:05

如果我想在a和z之间随机选择一个字母,我假设我必须使用这个类:Random

Random rand = new Random();

但是,由于这只会生成数字,因此我需要做什么才能将其应用于字母?


答案 1
Random r = new Random();
char c = (char) (r.nextInt(26) + 'a');

答案 2

字母,或者更确切地说,字符,是数字(在扩展 ascii 中从 0 到 255,在非扩展 ascii 中从 0 到 127)。例如,在 ASCII 中,“A”(引号表示字符,而不是字符串)为 65。所以1 + 'A'会给你66 - 'B'。因此,您可以将随机数从0到26,将其添加到字符“a”中,这就是:随机字母。

你也可以使用字符串来做到这一点,输入“abcdefghijklmnopqrstuvwxyz”,并在这个链中随机放置一个位置,但Barker解决方案更优雅。


推荐