如何利用随机数产生验证码(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     }
完整的代码如下:

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

 

 
 

 

转载于:https://www.cnblogs.com/lyq159/p/10464083.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值