再一次的学习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]);
}
}