第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());
}