如果想生成大写字母,可以 char paramChar = (char)(Math.random()*26 + 'a'); 小a改为A
public class english {
public static void main(String args[]){
char paramChar = (char)(Math.random()*26 + 'a');
System.out.print(paramChar);
}
}
转载:自英雄的黎明
char paramChar = (char)(Math.random()*26 + 'A');
//如果想出现随机小写字母,则把 'A' 换为: 'a'
解释:由于 Math.random()会产生介于0和1之间的值,所以你只要将“所产生的随机数”乘以“欲得的范围上限”(对字母系统而言伟26),再加上一个偏移量,即可获得随机字母。
Math.random()会得出一个double值,所以乘以*26会被转为double,‘A’必须被转换为double,最后获得的double再转为char.
Java代码
public class Random {
public static void main(String[] args) {
StringBuffer sBuffer=new StringBuffer("");
for (int i = 0; i < 20; i++) {
char randomCharacter=getRandomCharacter();
sBuffer.append(randomCharacter);
}
System.out.println(sBuffer.toString());
}
private static char getRandomCharacter() {
// TODO Auto-generated method stub
switch ((int)(Math.random()*2)) {
case 0:
return (char)(Math.random()*26+'A');
case 1:
return (char)(Math.random()*26+'a');
}
return 0;
}
}
转自娱众乐