java之简单随机验证码的生成

java之简单随机验证码的生成

生成一个有大小写字母和数字组成的4位验证码 如:87F5;
我主要用了两种办法来实现:
在这里插入图片描述
方法一:

package com.qianfeng.day3.day3;

import java.util.Random;

public class HomeWork {
    public static  void main(String args[]){
        //生成一个有大小写字母和数字组成的4位验证码  如:87F5;
        rand();
    }
    public static void rand(){
        Random random =new Random();

        String res="";
        for(int i=0;i<4;i++){
            int choice=random.nextInt(3);//0 1  2
            int num= random.nextInt(10);
            int lower=random.nextInt(26)+97;//a-z   :97-122
            int power=random.nextInt(90-65+1)+65;//A-Z  : 65-90;
            switch (choice){

                case 0://数字
                    res+=num;
                    break;
                case 1:
                    res+=(char)lower;
                    break;
                case 2:
                    res+=(char)power;
                    break;
                default:
                    break;
            }

        }
        System.out.println("随机验证码:"+res);



    }
}

方法二:


```java
package com.qianfeng.day3.day3;

import java.util.Random;

public class HomeWork2 {
    
    
    public  static  void main(String args[]){
    
    
        //随机验证码的第二种方法:
        //首先创建一个随机字符库,至少12个,最好是34的公倍数
        Random random =new Random();
        String str="";
        String randomStr="";
        for(int i=0;i<4;i++){
    
    
            int num=random.nextInt(10);
            randomStr+=num;
            int lower= random.nextInt(122-97+1)+97;
            randomStr+=(char)lower;
            int power=random.nextInt(90-65+1)+65;
            randomStr+=(char)power;
            //randomStr+=num+(char)lower+(char)power;
        }
        System.out.println("随机字符库:"+randomStr);
        for(int i=0;i<4;i++){
    
    
            //在随机字符库中随机取四个值
            int choice=random.nextInt(randomStr.length());
            str+=randomStr.charAt(choice) ;
        }
        System.out.println("随机字符串为:"+str);
    }
}

主要是看随机数的思想,逻辑;代码还是简单的;

猜你喜欢

转载自blog.csdn.net/weixin_42590083/article/details/112205451
今日推荐