一旦我在一个范围内产生了一个随机的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
将输出a
,1
输出b
等。)
适应这个您的需要。
答
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));
}
哦,不错,这是我需要什么 – Alex