如何利用随机数产生验证码(java基础知识)

  以前我们通用的验证码都是五个不同的大小写字母,那么今天我就带大家学习一下
利用Java基础怎么生成验证码。
首先我们应该有一个清晰的思路:首先定义一个固定长度的数组用来存储需要生成的字
母;其次生成随机数,这里我用到了Random来生成随机数。最后利用循环进行去重。
生成随机数的常用方法有两种:

1 //第一种是利用Math类
2 //1.产生[0,1)之间的随机数
3 Math.random();
4 //2.产生指定范围的随机数(m-n)之间的
5 Math.random()*(n-m)+m;
6 //第二种利用Random类
7 Random random = new Random();
8 int num = random.nextInt();
 
 

  

 1 public static void main(String[] args) {
 2               //生成固定长度的数组
 3         char[] letters = new char[5];
 4 //生成随机数
 5         Random random = new Random();
 6         char num=0;
 7         boolean flag =true;
 8         int count=0;
 9         while(count<letters.length){
10 //判断大小写;当随机数random.nextInt(2)=1时生成小写字母,否则生成大写字母
11             if(random.nextInt(2)==1){
12                 num = (char)('a'+random.nextInt(26));
13             }else{
14                 num = (char)('A'+random.nextInt(26));
15             }
16 //判断生成的随机数num与数组内的数据是否相同
17             for(int i=0;i<letters.length;i++){
18                 if(num==letters[i]){
19                     flag =false;
20                     break;
21                 }
22             }
23             if(flag){
24                 letters[count]=num;
25                 count++;
26             }
27         }
28         System.out.println(letters);
29     }
完整的代码如下:

 声明:此博文为个人学习之用,若与其他文章雷同,纯属巧合,请明示指出;并欢迎各位大佬进行评论指出我的不足,相互交流。

 

猜你喜欢

转载自www.cnblogs.com/lyq159/p/10464083.html