分析:该程序流程控制需要运用到常见的三种结构:顺序,选择,循环以及ASCII码对照表的认识与运用。
public class RandomCode { //生成随机验证码字符串,长度4,只能是数字大写,小写字母组成
public static void main(String[] args) {
String code =""; //验证码字符串,在下面循环过程中会累加到指定长度
int count = 4; //字符个数
for (int i = 0; i < count; i++) { //Math对象的random()函数返回一个随机(范围大于等于0,小于1)的小数
double d = Math.random();
d = 75*d; //扩大d的范围,转换为整数,去掉小数部分,变成0<=d<=74
int iRandam = (int)d + 48; //得到一个随机整数,范围48~122
/*对照ASCII码表,十进制整数值48~122之间包括了:
* 数字,大小写字母,以及其他字符
* 其他无效字符位于58~64以及90~96
* 如果得到这样的字符,则要丢弃它,再生成一次*/
if (iRandam>57 && iRandam<65)||(iRandam>90 && iRandam<97) {
i--; //作用:重做循环中的这一次
continue; //跳出本次循环
}
code += (char)iRandam; //累加字符到验证码
}
System.out.println(code); //输出结果
}
}
运行结果:(输出一个随机结果):ib5J