在Java中生成任意两个随机字符

如何在两个特定字符之间生成随机字符? 例如; 我想生成’h’或’v’中的任何一个。

谢谢

如果你想生成一个字符,如你所说,h或v,你可以使用Random类生成一个随机数,如下所示。 例如,如果随机数大于0.5,则选择v,否则选择h。

另一方面,如果您有一系列字母,您可以生成一个包含所需字符的数组,并生成一个随机数,用作选择随机字母的索引,否则,您可以生成随机数在65(Aschii for A)和90(Aschii for Z)之间。 你可以在这里找到更多的Aschii角色

Random r = new Random(); char c = r.nextBoolean() ? 'v' : 'h'; 

NB构造您的Random对象一次并重新使用它; 每次你想要一个随机数时都不要重新构建它!

怎么样:

 import java.util.Random; .... Random randomGenerator = new Random(); int randomInt = randomGenerator.nextInt(100); char chosen = randomInt % 2 == 0 ? 'h' : 'v'; 

要在两个给定字符之间生成随机字符,您可以执行以下操作:

  char genRandChar(char char1, char char2) { char retVal; int val1= (int) char1; //cast char1 to its integer ASCII value int val2= (int) char2; //cast char2 to its integer ASCII value //assuming val1