Java:原来随机验证码是这样子生成的!??

分析:该程序流程控制需要运用到常见的三种结构:顺序,选择,循环以及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 

猜你喜欢

转载自blog.csdn.net/weixin_44015669/article/details/89763950