如果我想随机选择a和z之间的字母,我假设我必须使用Random该类:
Random rand = new Random();
Run Code Online (Sandbox Code Playgroud)
但由于这只会生成数字,我需要做些什么才能将其应用于字母?
Mic*_*ker 23
Random r = new Random();
char c = (char) (r.nextInt(26) + 'a');
Run Code Online (Sandbox Code Playgroud)
字母,或更确切地说,字符,是数字(从 0 到 255 在扩展 ascii 中,0 到 127 在非扩展中)。例如,在 ASCII 中,'A'(引号表示字符,而不是字符串)是 65。所以 1 + 'A' 会给你 66 - 'B'。所以,你可以取一个从 0 到 26 的随机数,把它加到字符“a”上,你就是:随机字母。
你也可以用一个字符串来完成,输入“abcdefghijklmnopqrstuvwxyz”并在这个链中随机位置,但巴克解决方案更优雅。