如何在两个特定字符之间生成随机字符?例如;我想生成'h'或'v'中的任何一个。
由于
答案 0 :(得分:8)
Random r = new Random();
char c = r.nextBoolean() ? 'v' : 'h';
N.B。构造您的Random对象一次并重新使用它;每次你想要一个随机数时都不要重新构建它!
答案 1 :(得分:2)
如果您想生成一个字符,如您所说,h或v,您可以使用Random类生成一个随机数,如图所示here。如果例如随机数大于0.5,则选择v,否则选择h。
另一方面,如果你有一系列字母,你可以生成一个包含你想要的字符的数组,并生成一个随机数,用作选择随机字母的索引,否则,你可以生成65(Aschii for A)和90(Aschii for Z)之间的随机数。您可以找到更多Aschii字符here
答案 2 :(得分:1)
怎么样:
import java.util.Random;
....
Random randomGenerator = new Random();
int randomInt = randomGenerator.nextInt(100);
char chosen = randomInt % 2 == 0 ? 'h' : 'v';
答案 3 :(得分:0)
要在两个给定字符之间生成随机字符,您可以执行以下操作:
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<val2
retVal=(char)(val1+(int)(Math.random()*((val2-val1)+1)); //generate a random number between val1 and val2 and cast it to a character
return retVal;
}