1. 程式人生 > >如何利用隨機數產生驗證碼(java基礎知識)

如何利用隨機數產生驗證碼(java基礎知識)

pen lean display void 生成 font length break cdd

  以前我們通用的驗證碼都是五個不同的大小寫字母,那麽今天我就帶大家學習一下
利用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 }
完整的代碼如下:



如何利用隨機數產生驗證碼(java基礎知識)