一旦我在一个范围内产生了一个随机的Int,我怎样才能将该整数分配给字母表中的每个字母?

问题描述:

这里是数组的新手......我想要得到一个随机整数并将整数设置为字母表中每个单独的字母,如整数1 = a。这样我就可以在字母表中打印一个随机字母,而无需使用预先存在的随机字符串java方法。我不想生成一个随机字符串,这是我需要的方式。一旦我在一个范围内产生了一个随机的Int,我怎样才能将该整数分配给字母表中的每个字母?

{ 
    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.... 
    } 
} 

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

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

适应这个您的需要。

+0

哦,不错,这是我需要什么 – Alex

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

有选择随机字符的另一种方式,这在我看来是一个更优雅的解决方案,如果你永远都需要的所有是小写字符。它更明确地表示生成的字符将是一个随机的小写拉丁字母,因为它不使用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)); 
}