欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 生成任意長度的驗證碼過程解析

 更新時間:2019年10月09日 14:37:52   作者:小龍_T無限  
這篇文章主要介紹了Java 生成任意長度的驗證碼過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

需求說明

1、要求生成任意長度的驗證碼

2、驗證碼要求包含大小寫英文字母和數(shù)字

實現(xiàn)方式

采用隨機數(shù)的方式,分別在數(shù)字,大小寫英文字母里面抽取字符,抽取次數(shù)由for循環(huán)控制

代碼內(nèi)容

隨機的方法及程序入口

package com.work.work3;

/**
 * @auther::9527
 * @Description: 驗證碼生成器
 * @program: shi_yong
 * @create: 2019-07-30 20:45
 */
public class Method {
  //采用char對照表生成驗證碼
  public static String verCode1(int num) {
    String code = ""; //設置一個變量,用來接收驗證碼
    for (int i = 0; i < num; i++) {
      //使用一個布爾變量,判定單個驗證碼是數(shù)字還是英文字母
      boolean choose = ((int) (Math.random() * 2) == 0) ? true : false;
      if (choose) {
        //如果choose為真,則選取數(shù)字做單個驗證碼并連接到code里面
        code += (int) (Math.random() * 10); //在0-9之間選擇一個數(shù)字做驗證碼
      } else {
        //如果choose為假,則選取英文字母做單個驗證碼并連接到code里面
        //用char對照表里面的序號,確認本次英文字母是采用大寫還是小寫,
        // 65是大寫英文字母開頭,97是小寫英文字母開頭
        int temp = ((int) (Math.random() * 2) == 0) ?65:97;
        char ch = (char)((Math.random()*26)+temp);
        code += ch;
      }
    }
    //返回一個字符串
    return code;
  }

  public static String verCode2(int num){
    String code="";
    //采用變量string接收所有0-9,a-z,A-Z的字符
    String string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    //將字符串拆分成字符串數(shù)組
    String[] str= string.split("");
    for (int i = 0; i <num ; i++) {
      //在數(shù)組里面用下標隨機出字符串
      code += str[(int)(Math.random()*str.length)];
    }
    return code;
  }

  public static void main(String[] args) {
    System.out.println("對照表法:"+Method.verCode1(6));
    System.out.println("split分割字符串法:"+Method.verCode2(6));

  }
}

運行結果

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JavaMail實現(xiàn)發(fā)送郵件功能

    JavaMail實現(xiàn)發(fā)送郵件功能

    這篇文章主要為大家詳細介紹了JavaMail實現(xiàn)發(fā)送郵件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaWeb核心技術中Session與Cookie淺析

    JavaWeb核心技術中Session與Cookie淺析

    session的工作原理和cookie非常類似,在cookie中存放一個sessionID,真實的數(shù)據(jù)存放在服務器端,客戶端每次發(fā)送請求的時候帶上sessionID,服務端根據(jù)sessionID進行數(shù)據(jù)的響應
    2023-02-02
  • Java中comparator接口和Comparable接口的比較解析

    Java中comparator接口和Comparable接口的比較解析

    這篇文章主要介紹了Java中comparator接口和Comparable接口的比較解析,Java提供了一個用于比較的接口Comparator和Comparable接口,提供了一個比較的方法,所有實現(xiàn)該接口的類,都動態(tài)的實現(xiàn)了該比較方法,需要的朋友可以參考下
    2023-08-08
  • Java基礎之spring5新功能學習

    Java基礎之spring5新功能學習

    這篇文章主要介紹了Java基礎之spring5新功能學習,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Spring-AOP 靜態(tài)普通方法名匹配切面操作

    Spring-AOP 靜態(tài)普通方法名匹配切面操作

    這篇文章主要介紹了Spring-AOP 靜態(tài)普通方法名匹配切面操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java日常練習題,每天進步一點點(30)

    Java日常練習題,每天進步一點點(30)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • Java mysql特殊形式的查詢語句詳解

    Java mysql特殊形式的查詢語句詳解

    這篇文章主要介紹了Java mysql特殊形式的查詢,包括子查詢和聯(lián)合查詢、自身連接查詢問題,本文通過sql語句給大家介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • Java注解處理器簡單實例

    Java注解處理器簡單實例

    這篇文章主要介紹了Java注解處理器簡單實例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 如何應對spring框架的HTTP ERROR 400 Bad Request錯誤返回問題

    如何應對spring框架的HTTP ERROR 400 Bad Request錯

    這篇文章主要介紹了如何應對spring框架的HTTP ERROR 400 Bad Request錯誤返回問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 用java實現(xiàn)冒泡排序算法

    用java實現(xiàn)冒泡排序算法

    兩兩比較待排序記錄的關鍵字,發(fā)現(xiàn)兩個記錄的次序相反時即進行交換,直到?jīng)]有反序的記錄為止
    2013-01-01

最新評論