Java生成随机验证码(数字+大小写字母)

再一次的学习Java,对编程语言有了更深的理解,越来越发现编程语言其实都是相通的
这一次使用Java生成一个4位的随机验证码。
第一部分:通过合并生成一个即包含数字,又包含大小写字母的数组。其实可以直接静态定义包含这些内容的字符数组。这里体现合并数组,以及ascaii码比较的思想,有助与更好的学习数组。
第二部分:通过Random生成随机数作为数组下标,将数字下标对应的字符放在一个新的4个位置的数组里。

package com.company;
import java.util.*;
public class Main{
    public static void main(String args[]){
        //生成一个包含数字,大小写字母的字符数组。
        char[] codes = new char[62];
        int index = 0;
        for(int i='0';i<='9';i++){
            codes[index++]=(char)i;
        }
        for(int i='a';i<='z';i++){
            codes[index++]=(char)i;
        }
        for(int i='A';i<='Z';i++){
            codes[index++]=(char)i;
        }
        System.out.println("合并后的数组为:");//将合并后的数组输出 已检查代码是否正确
        for(int i=0;i<codes.length;i++){
            System.out.print(codes[i]+" ");
            if(i%16==0)//换行 检查更加舒适
                System.out.println();
        }
        System.out.println();
        //然后,随机获得四个字符:(验证码)
        char[] num = new char[4];//验证码数组
        Random r = new Random();
        for(int i=0;i<4;i++){
            int t = r.nextInt(codes.length);
            num[i] = codes[t];
        }
        //输出验证码
        System.out.println("验证码为:");
        for (int i=0;i<4;i++)
            System.out.print(num[i]);
    }

}

你可能感兴趣的:(java学习)