有没有可能写一个像 python 一样短的随机字母生成器?

Is there a possibility to write a random letter generator as short as in python?

所以我想缩短我的代码,我问自己 Java 中的随机字母生成器是否有可能与 python 中的一样短。在 python 中,它只是一对一的班轮。

下面的代码是我的代码:

int random = (int) Math.random()*25;

String[] letters ={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}; 

String letter = letters[random]; 

如果 "short" 只表示一行,那么这些中的任何一个都可以:

char letter = "abcdefghijklmnopqrstuvwxyz".charAt((int) (Math.random() * 26));

char letter = (char) ThreadLocalRandom.current().nextInt('a', 'z'+1);

char letter = (char) ('a' + Math.random() * 26);

使用 ASCII table。 97 = 'a',因此只需将您的随机数添加到其中并转换为 char.

ASCII Table

public class MyClass {
    public static void main(String args[]) {
        char z = (char)(97 + Math.random()*26);
        System.out.println("z = " + z);
    }
}

这是创建 100 个字符的最短版本:

Character[] result = new Random().ints(100,'a','z'+1).mapToObj(ch -> (char)ch).toArray(Character[]::new);