java根据生成随机数功能类编写程序

根据日生成随机数的功能类及方法编写程度,生成四位随机验证码的功能,Random类的nextInt(26)方法获取到不超过26的随机值;‘A’+n;当n不超过26时,为A-Z之间的字母值。Ps:小弟还是新手,希望大神帮帮我,谢谢啦!

第1个回答  2013-05-03
private static String[] chars={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
private static String getRandomChar(){
Random ran = new Random();
int index = ran.nextInt(chars.length);
return chars[index];
}
我意见这样生成验证码,代码可以复用~
你只要把数组中的0~9去掉就行了,验证码往往会去掉 0 ,1 ,o这些容易混淆的字符
第2个回答  2013-05-03
呵呵,这题有2个考点,一是考Random类生产随机数,二是英文大些字母的ascii码。
简单贴段代码给你吧。
public static void main(String[] args) {

Random ran = new Random();
int num;
StringBuffer code = new StringBuffer();
for (int i = 0; i < 4; i++) {
num = ran.nextInt(26);
System.out.println("the " + (i+1) + " random number is :" + num);
code.append((char)('A'+num));
}
System.out.println("the result is : " + code.toString());
}
相似回答