一旦我在一个范围之间生成了一个随机Int,我怎么能将该整数分配给字母表中的每个字母?

时间:2016-11-29 13:42:49

标签: java arrays random type-conversion

这里的数组新...我想获得一个随机整数并将整数设置为字母表中的每个字母,如整数1 = a。这样我就可以在字母表中打印一个随机字母而不使用预先存在的随机字符串java方法。我不想生成随机字符串,这是我需要它的方式。

{
  public static void main(String[] args)
  {
    Random Gen = new Random();

    String[] letters = new String[50];

    String alphabet = "abcdefghijklmnopqrstuvwxyz";

    int randomInt = Gene.nextInt(26);

    String second = "" + randomInt;
    System.out.println(second);

    //Not sure what next....
  }
}

3 个答案:

答案 0 :(得分:1)

System.out.println(alphabet.charAt(randomInt))会在randomInt字符串中的(从零开始)位置alphabet打印字符。

(请注意,randomInt == 0会输出a1输出b等等。)

根据您的需要进行调整。

答案 1 :(得分:1)

有一种选择随机字符的替代方法,如果您需要的只是小写字符,我认为这是一种更优雅的解决方案。它更明确地表明生成的字符将是一个随机的小写拉丁字母,因为它不使用alphabet字符串常量。

public static void main(final String args[]) {
    final Random random = new Random();
    final String[] array = new String[50];
    for (int i = 0; i < array.length; i++) {
        array[i] = String.valueOf(generateRandomLetter(random));
    }
    System.out.println(Arrays.toString(array));
}

private static char generateRandomLetter(Random random) {
    return (char) ('a' + random.nextInt(26));
}

答案 2 :(得分:0)

alphabet.charAt(randomInt)将为您提供字母表字符串中所需的随机字符。