java综合小练习之生成验证码

import java.util.Random;

public class demo1 {
    public static void main(String[] args) {
        /*
          需求:定义发放实现随机产生一个5位的验证码
          验证码格式:
          长度为五,前四位为大写或者小写字母
          最后一位为随机数字
         */

        /*
          方法:26个小写字母和26个大写字母通过数组进行打乱
          面对没有规律的一堆数字,可以利用数组中利用索引进行抽取。
          最后一位数字调用rangde方法产生。
         */
        
        //调用方法
        suijishu();


    }

    //分析:
    //1.大小写字母都放进数组中:
    public static void suijishu () {
        //生成字符数据类型数组 长度为52 包头不包尾
        char[] chs = new char[52];
        for (int i = 0; i < chs.length; i++) {
        //给0~25传递a~z  再给26~52传递A~Z
            if (i <= 25){
                chs[i] = (char)(97 + i);    // ASCII表中 a~z 97~122  A~Z 65~90
            }else{
                chs[i] = (char)(65 + i - 26);     //也可以写成 39 + i
            }
        }
  //2.利用random类生成一个对象r 利用r调用random类中的nextInt方法 
       Random r = new Random();

        //定义一个字符串 来接收前四位
        String result = "";
        //利用随机索引获取元素
        for (int i = 0; i < 4; i++) {
            int randomIndex = r.nextInt(chs.length);  //每次循环都重新生成一个随机数
            result = result + chs[randomIndex];       //利用随机数调用数组chs的下标
        }

        int randomnum = r.nextInt(11);
        result = result + randomnum;
        System.out.println(result);
        
    }
}

 

 运行结果如上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值